約 2,780,590 件
https://w.atwiki.jp/spore/pages/27.html
概要MODとは つかいかた導入 注意事項 作り方初期設定 実際にMOD作ってみる 編集する どれ編集すればいいのかわかんねえ! 日本人作成MODAntiGroxSpace 21色スパイスMOD SpaceWithoutGrox 海外製MODRick’s Spore Mod Dark Injection その他 海外mod コメント MODの適用に当たっては、自己責任で。 セーブデータがおかしくなっても誰も責任は取りません。 概要 MODとは ゲームの内容に対する変更を加える物です SporeではMODの追加が制作初期から見込まれていて 設定数値的な変更やグロックスの見た目といった内容の変更が簡単に可能となっています ただし、適用後のゲームプレイは保証外です すべて自己責任で! つかいかた 導入 落とした.packageを「C \Program Files\Electronic Arts\SPORE_EP1\Data」にコピーして使う。 DL版は「C Program Files\Origin Games\SPORE Galactic Adventures\Data」にコピー複数の.packageも共存出来る模様。変化させる対象が別ならOK。 SPOREのGAのフォルダじゃないと動作しない ゲームを開始する。既存のセーブデータでもOK。(ただし、すでに決定したデータには意味がない物もある) アンインストールはコピーした.packageを消すだけ 注意事項 パッチ4以上でGAなしのSPOREだと全く動作しない。GAのフォルダに入れて初めて動作する。 競合問題MODは内部的にはpropファイルそれぞれに対し改変をしているため、同じpropに改変をするものが共存していると片方の効果しかでないどのpropを変更しているかは展開してみないとわからない 基本データ群となるSpore_Game.packageは優先度が最低のようなので、追加したMODが常に優先される MODはファイル名順で動くっぽい(?) MODよりもパッチデータの方が優先される模様。そのため一部のMODは動かない可能性あり MODを使うといくつかGAの機能が消える場合あり。(アドベンチャーの惑星が出現しないなど) 作り方 「SporeMaster」というソフトを使いデータ可変する。 現在最新Verは2.0だが、入手先不明。誰かリンク頼む 初期設定 「spore packages」のタブを開く 「New」ボタンを押して「C \Program Files\Electronic Arts\SPORE\Data\Spore_Game.package」(基本データ群)を追加必要であれば「Locale\ja-jp\Text.package」など追加してもOK GAのフォルダじゃないので注意(GAのデータ編集する場合は必要かも) 間違ったの入れたら「Change」で変更、「Remove」で消せる 追加したら、「Unpack」ボタンを押す。基本データ群は全て展開される。一応これで準備OK 実際にMOD作ってみる 「MOD」タブ開く 「Create」押して適当なフォルダに好きな名前入れておく。ファイル名は英数字の方が良い 「Files」タブ開く 左にずらーっと沢山のフォルダ名が表示される。左側が元の基本データ群、右側がMODファイル側のデータ群。 灰色になってるのが、その側に含まれてないファイル。 上の欄で検索できる。スパイスなら「spice」、アーティファクトなら「Artifact」など グロックス関係は「grob」のようなので注意 編集したいpropあったらファイル名をクリックしてから、編集画面の「Modify」ボタンを押す。これでデータを編集できる「WinMerge」を押すと元のデータと比較しながら編集可能。 新propも作成可能らしい、情報提供頼む 好きなだけ編集したら、「MOD」タブに戻って「Pack」ボタンを押す。 packageが作成されるので、GAのDataフォルダに突っ込む。 編集する 「MOD」タブ開く 「Open」で編集したいpackageを選択。 「Files」が押せない場合はまだ展開してない。その場合はすぐ下の「Unpack」のボタンを押してMODを展開する。 「Files」タブが開けるようになるので開く、あとは上と同じ どれ編集すればいいのかわかんねえ! データ群の解説(作成予定) http //spore-modding.wikia.com/wiki/Spore_Modding_Wiki 英語だが解説がある 日本人作成MOD AntiGroxSpace MOD/AntiGroxSpace 国内グロックス滅亡達成者が出たので公開 グロックスを滅亡させるために宇宙の構造を変化させます 21色スパイスMOD ダウンロード 21色になります。ほとんど均等に出現します(超レア除く)。以上。 恒星の色とほぼ同系色のカラーが出やすい(本家と大体同じ) 青>赤>黄 の順で高い値段の奴がでやすい 本家と値段変更あり MOD適用後、新しく訪れた星系から効果発動 21色になる分、高く買い取ってくれる確立が下がってます。注意 SpaceWithoutGrox ダウンロード 説明このmodを適用後、新しいSPORE銀河でゲームを始めるとグロックスがいなくなります。(厳密には、銀河核の最寄の星系にある、グロックスの母星だけになる。) 既存のセーブデータでは、グロックス所有の惑星がT3になる。星系内1つまで。(ただし、効果のない星系もある。) 作者 mikumikukinoko39 海外製MOD Rick’s Spore Mod http //spore.vg/ 42 - Changes the Staff Of Life so that it never uses any charges and reduces its cooldown to 10 seconds.生命の杖使い放題+チャージ時間10秒に短縮 Asymmetry Hack - Disables symmetry in all editors.全てのエディターで左右非対称に作れる 自動左右対称が無くなる。切り替えスイッチとか無いから左右対称の部分を先に作って一時保存してパッチいれたり戻したりして調整が必要。つまりめんどくさい Space Is Fun Hack - Increases the minimum time required between attacks, raids, and disasters to from 15 minutes to 2 hours. Oh, and it ups the maximum artifacts per planet to 8. Lite version (same thing but without the artifact change).海賊・敵国襲撃・生態系危機が起こりうる最小時間が15分毎から2時間毎になる。あとアーティファクトが惑星あたり最大で8個出るようになる(はずだけどかわらんかも)。 Dark Injection http //www.davoonline.com/sporemods ダークスポアの各種パーツ(武器、服装など)が本家SPOREで使用出来ます。他にも様々な追加要素あり まずリンク先にあるArena.RDX9、Arenas_Textures.packageをDLし、Dataファイルへ(オプション2013_CoreTextures.packageではテクスチャの質感を変えられる) 本体(2015_DI_FIX.packageまたは2015_DI_NC_FIX.package)を投入。NC版では変更箇所が多い その他 MOD本体(rar形式) Anti-Piss-Off Planet Buster (作者 Cheesemonkey)プラネットバスターで他の帝国が怒らなくなる MOD本体(7z形式) Scupltist s Dream (作者 1/4 Life)惑星彫刻ツールを使った後もう一度使うまでの待ち時間を短縮する。 下記リンクよりダウンロード可 Life Mod Gives the Creature Tweaker, Create Creature, Wildlife Sanctuary, Epicizer, and Species Eradicator tools infinite uses. esigned to make the Space stage just as creative as the creature stage. Why should it be so hard to do what Spore was designed for? Freelancing Mod Increases all mission payouts by 10x, 15x, or 20x. ferent empires have different personalities, some will try to stiff you, others will be quite generous. Increases the chances of a shot down ship or blown up city to drop money. Designed to make missions a viable source of money. 宇宙ステージでミッション成功時に入手する金が増えるMOD 10倍、15倍、20倍から選べる。アドベンチャーミッション関係は増えないっぽい Scupltist s Dream Reduces the recharge time on all planet sculpting tools from 20 seconds to 1 second. Designed to make planet customization easy and fun. 彫刻ツールのリロードが1秒になる。 Superweapon Mod Removes the need for ammo on the Planet Buster, Antimatter bomb, and Antimatter missile. Cuts down the cooldown on the antimatter bomb. Horribly Unbalanced, but good for those that are tired of searching for ammo. 反物質ミサイル・反物質爆弾・プラネットバスターの弾数制限をなくすMOD Anti-Piss-Off Planet Buster Modifies the Planet Buster so that it does not anger local empires. プラネットバスターを使ってもほかの帝国が怒らなくなるらしい Mayflower Mod Gives the Colony Incredi-Pack, Embassy, Spice Storage, Loyalty Booster, and Happiness Booster tools infinite uses. Designed to make empire expansion easy, without being too cheap. コロニーパックなどのコロニー系ツールの数が無限になるらしい 海外mod http //www.sporemods.org/ http //code.google.com/p/sporemods/downloads/list http //forums.facepunchstudios.com/showthread.php?p=11813227 http //www.xspore.com/community/modding/ コメント http //www.xspore.com/news/698_spore-mod-reduce-rate.html -- memo (2008-09-13 16 59 25) http //www.cheathappens.com/show_board2.asp?headID=72029 titleID=12378 -- memo (2008-09-13 17 01 19) んで、どう弄っても適用されない。上手くできた人情報求む -- memo (2008-09-13 18 12 45) 俺の場合、tempとか空にすると落ちないが適用もされていない状態。 -- 名無しさん (2008-09-15 08 37 20) http //www.gamefaqs.com/boards/genmessage.php?board=926714 topic=45408739 -- 名無しさん (2008-09-15 09 29 59) チートコードの所にあるトレイナーも秀逸だけど、攻撃頻度は変えられないしなあ。 -- 名無しさん (2008-09-15 12 53 51) mod.pacageの名前をSpore_Game.packageに変更して元のSpore_Game.packageを削除して起動してみたが問題なく動いた。でも内容の変動はなし、普通に海賊攻撃してくる、どうなってるんだろうこのファイル構成 -- 名無しさん (2008-09-15 14 35 21) こちらはmod.pacage→Spore_Game.packageはエラーで起動できず。 -- 名無しさん (2008-09-15 18 42 54) スレでMOD作者が「飽きた」と宣言した気がする。英語できる人plzzzz -- 名無しさん (2008-09-15 19 02 44) http //www.gamefaqs.com/boards/genmessage.php?board=926714 topic=45408739 page=12 -- 名無しさん (2008-09-17 11 30 23) ↑の gibbedus て人の mod は、既存のセーブデータでも動くらしい。 -- 名無しさん (2008-09-17 11 36 53) どうやら.propファイルに設定が保存されてるようだ -- 名無しさん (2008-09-17 16 14 42) http //spore.vg/ -- 名無しさん (2008-09-17 16 42 50) ↑Disables symmetry in all editors つまり左右非対称modもあるみたい。 -- 名無しさん (2008-09-17 16 47 36) 42を試してみたけどちゃんと適用されているようだ。既存のセーブでもおkだった。 -- 名無しさん (2008-09-17 17 12 02) ↑↑のSpace Is Fun Hackを既存セーブで適用、海賊他の頻度が下がったのを体感出来ました -- 名無しさん (2008-09-17 20 15 57) 展開したパッケージのpropファイルを入れ替えたんだが、パッケージに戻せなくなった -- 名無しさん (2008-09-17 22 25 50) なぜそんなことをした -- 名無しさん (2008-09-18 00 11 01) SpaceIsFunHackの導入ってそうやるんじゃないの? -- 名無しさん (2008-09-18 20 22 07) よく嫁 -- 名無しさん (2008-09-18 21 25 30) 利用するだけならunpackする必要など全くこれっぽっちも無い、何でそうしたのか理解不能 -- 名無しさん (2008-09-18 22 25 46) 単純に \Data に置けばいいのか。すまんふぁびょってたわ -- 名無しさん (2008-09-18 23 01 38) パッチ当ててる状態でSpace Is Fun Hackを導入してると競合してるのか処理が格段に遅くなることがある。注意 -- 名無しさん (2008-09-19 22 48 17) http //forums.facepunchstudios.com/showthread.php?p=11813227 -- 名無しさん (2008-09-28 12 30 29) http //www.xspore.com/community/modding/ -- 名無しさん (2008-09-28 12 30 43) http //code.google.com/p/sporemods/downloads/list -- 名無しさん (2008-09-28 12 30 53) ↑上記3つ、MODいろいろ -- 名無しさん (2008-09-28 12 31 22) 必要ない古い情報を消しといた。以前のはバックアップページにある。あと自分は当分Spore出来なくなるのでページ編集はまかせた。 -- このページに色々メモしてた人 (2008-09-29 08 21 26) 作者名は敬意をはらう意味で書いておきました。 -- 名無しさん (2008-10-01 05 01 36) MODの作成ツールはどこに行けばダウンロードできますか? -- 名無しさん (2008-11-15 17 47 59) 書いてあることくらい読もうよ… 上の方のツールのリンクから、右のメニューでSporeカテゴリのToolsを開けばある -- 名無しさん (2008-11-15 21 11 19) http //www.jeuxvideopc.com/downloads/8926-spore/1135-sporedum-s/download-29554.php -- 名無しさん (2009-10-28 16 05 18) ↑壮大になれるMOD -- 名無しさん (2009-10-28 16 05 33) 今更だがツール消えたのか・・・ -- 名無しさん (2010-07-13 17 49 09) 英語は読めん! -- 名無しさん (2010-07-25 03 46 04) http //sporedum.wordpress.com/spore-modding/sporemaster/ -- 名無しさん (2011-04-03 18 32 26) ↑Spore masterのリンクを見つけました -- 名無しさん (2011-04-03 18 33 25) originのDL版SPOREはMODが適用されないようだ -- 名無しさん (2011-11-23 21 55 31) http //www.mediafire.com/?zmymzt4mjmj 壮大になれるmod -- 名無しさん (2011-12-25 15 48 32) https //skydrive.live.com/?cid=a41dd82617868858 id=A41DD82617868858%21464 modたくさん -- 名無しさん (2012-01-04 22 59 43) 技変更MODを作ってみた http //www5.puny.jp/uploader/download/1327722830.zip -- 名無しさん (2012-01-28 12 55 48) パスワードは 2345 -- 名無しさん (2012-01-28 12 56 19) グロックスの星を母星だけにするmod「SpaceWithoutGrox」を添付ファイルに追加 -- mikumikukinoko39 (2012-02-21 17 43 47) なんかDL版は不可みたい、今からGAのパッケージ版買えば間に合うかぬ -- 名無しさん (2012-08-03 16 51 35) 技変更MODはどんな技が使えるようになるのですか? -- 名無しさん (2012-09-01 16 26 14) 中のリドーミーを読むべし -- 名無しさん (2012-09-03 22 42 07) C \Program Files\Electronic Arts\SPORE_EP1\Data をさがしてもみるからないのですがDL版だとできないのでしょうか? -- 名無しさん (2012-09-06 10 02 58) 出来るよ。ただ、Program Filesの次はDL版ならEAじゃなくてOriginになってるから。 あと、何度も言われてるようにGAフォルダじゃないと動作しない。うっかり無印の方のフォルダにぶっ込んだら後々めんどくさいからそこ注意な。 -- 名無しさん (2012-10-08 11 07 34) spore BP1 にDataがないんだが・・・GA入れてるのに -- 名無しさん (2012-10-12 21 12 48) MODのリンクが切れてるぞ。再インスコしたらMODも一緒に消えた(デスクトップに避難させたはずなのに)んでもう一回落としてこようとしたら -- 名無しさん (2013-03-20 14 39 31) DL版でのMOD適用の仕方がわからん。 -- 名無しさん (2013-04-03 14 10 58) ↑4つ上のコメに書いてあるだろwww -- 名無しさん (2013-04-03 17 01 41) ↑そもそもSPORE_EP1というフォルダが存在してないし、/Dataに直接入れても効果が出てない -- 名無しさん (2013-04-03 18 30 56) ↑Program Files\Origin Games\SPORE Galactic Adventures\Dataで良い筈なんだがなあ 別のMODで試したら? -- 名無しさん (2013-04-04 05 16 50) ↑できた なんでできなかったのかわからん; とにかくありがとう -- 名無しさん (2013-04-04 14 23 24) SPOREのMODは複雑だね -- 名無しさん (2013-04-05 15 56 20) 導入にdl版の説明追加 コメント欄に「dl版はどうするの」的な内容のコメが後を絶たないため -- 名無しさん (2013-04-05 17 49 16) 最新パッチから一部のMODが使えなくなったとの報告が多数上がっている模様 -- 名無しさん (2013-06-16 16 55 45) 一部どころが全MOD使えないんだが -- 名無しさん (2013-07-13 17 26 25) 最新パッチってパッチ5? メカパーツパッチ? -- 名無しさん (2013-07-13 19 44 21) ドクペ板かと -- 名無しさん (2013-07-17 14 27 44) ドクペ板入れてるけど使えているよ全mod 自作も含めてね -- 2つ上の名無し (2013-07-17 21 08 34) ダークスポアのMOD入れてみた。いいねこれ、かっこいい上にパーツに金かからないし複雑度あがらない。みんなも入れてみて~ -- 名無しさん (2013-07-23 12 02 35) 最新ver.に対応したレーザー強化MODが見つからぬえ あれが無いとグロックス侵略がしんどい -- 名無しさん (2013-08-11 04 55 41) ちょっとゲーム内の挙動が変だったから再インスコしたら***SPORE Galactic Adventures\__Installerに大量のダブりフォルダーが生成されてついでにMODの効果が消え去った -- 名無しさん (2013-08-21 07 47 43) ごめんGAアップデートパッチ当てたらMODさんバリバリ働いてくれた -- 名無しさん (2013-08-21 08 11 51) クリーチャーステージの仲間の制限を増やすMODとかないのかなw -- 名無しさん (2013-08-30 09 33 31) 集落のメンバーの制限を敵味方どっちも増やすMODはあるし、米sporewikiを探せばあるんじゃね?人気下火のアメリカで今から新しくMODが作られる可能性は少ないだろうが -- 名無しさん (2013-08-31 16 54 47) ダークスポアのURL先、2012_Dark_Injection_v.7.0.5ってやつが無いけど、どれ選べばいいんだろ -- 名無しさん (2015-06-29 23 15 27) ↑2012_Dark_Injection_v.7.0.5ってググるとロシア語のページ?みたいなのが出てきてそこからDLしてたぶんパッチ当てれたけれど、どうだろう… -- 名無しさん (2015-07-18 22 55 14) ちょっと疑問?と更新があったので、Darkinjectionの説明を変更しました。 -- 名無しさん (2015-07-19 22 00 21) 42は消えたのか -- 名無しさん (2015-07-24 17 55 08) SPOREの方で更新があったせいでダーク♂スポアMODが正しく動作しない(保存できない)困ったな… -- 名無しさん (2017-07-22 00 25 36) 複雑度 -- 名無しさん (2017-09-24 11 48 38) いや、複雑度が無限なのがダークスポアMODの利点なのだが… -- 名無しさん (2017-11-29 21 55 42) ググったら普通に最新版出てました、スマソン -- 名無しさん (2017-12-02 22 20 36) 非対称modを入れたいんですが、spore.vgというサイトに飛ばされてそこからダウンロード出来ません -- 名無しさん (2022-02-01 03 03 02) spore vgじゃなくてnic. vgでしたすいません。 -- 名無しさん (2022-02-01 03 06 40) 非対称はMod入れなくてもAキー押しながらパーツをD Dすればできるはず -- 名無しさん (2022-02-05 11 34 09) 名前 コメント
https://w.atwiki.jp/postal2-wiki/pages/16.html
MOD 説明Modって何よ? 拡張MODシングルプレイ用MOD マルチプレイ用MOD Modって何よ? ModとはModifyの略で、オリジナルのゲームに何らかの変更を加えるもの。 通常では、できなかった遊びなどが楽しめるものです。今日までのPOSTAL2繁栄を支えてきた重要なパーツ。 導入に関しては、自己責任だが決して入れて損はないものばかりである。 MODのインストール順や、それに伴う設定等は MODのインストール 参照 武器の割り当ては 武器の詳細 参照 シングルプレイ用 A Week in Paradise(AWP) シングルプレイを拡張するMODで AW7 のバージョンアップ版に当たる POSTAL FUDGE PACK には最初から入っています 詳しくはAWP AW7参照 Eternal Damnation(ED) ポスタル2のエンジンを利用した新しいゲーム 新しいマップ、武器、キャラクターを楽しめる マルチプレイにも対応 POSTAL FUDGE PACK には最初から入っています 詳しくはEternal Damnation参照 Re-Delivery(RD) http //w3.quake3.jp/fantom/postal2/RD/index.html 新しい武器(カラシニコフ)が使える 別のゲームとして独立したフォルダに作成されます プレイ、難易度の選択などは全て当ゲーム内で行います TnMod(Tn、TnInventory) http //tokyo-nightingale.hp.infoseek.co.jp/TnSuburbs.html ポスタル2フォルダに上書きでインストール 対戦車ライフルなど多くの武器が使えるようになる プレイする場合は、カスタムマップから「cus-TnSuburbs」を選択 Ig50Inventory http //www.usamimi.info/~ig50shio/down.html AW、AW7用 尿カッターとぶっ飛ばしショットガン 武器単体なので使用するには自分で設置する必要あり AW7ではアドインMODによってチートで入手可能 K W Mod(KamekMod) http //www.postalnetwork.org/files/file.shtml?ID=254 元祖シングルMOD 通常のシングルプレイに沢山の新しいチートを追加 嘔吐スタンガン、核ランチャー、KARMA GUN(karmaオブジェクトを移動できる)などの武器も使える 詳しくはがいどのModsを参照 ただし情報が古いです Custom skin(カスタムスキン) http //himajinpostal.under.jp/html/Skin.html 女性のスキンが圧倒的に多い、制服やおしゃれ系等のスキンが多数。 映画パニッシャースキンなどもダウンロード可能。 http //svs13.hp.infoseek.co.jp/postal/skin/skin.html ドラ○モン、某大統領、某蜘蛛男、ニートスキン、モザイクスキン などが ダウンロード可能。ネタ系統のスキンが多数 http //www7a.biglobe.ne.jp/~nekomanju-hompo/ 中国服などチャイナ服などをダウンロードできる。 マルチプレイ用 P2M@DMods 多くのMutatorを追加する。 設置してある武器・アイテムを忍者風・古代戦士風・ウエスタン風・独自の武器・アイテムと入れ替えることができる。 AirMail マップ上にいくつかの郵便物のようなアイテムを発生させる。 見た目は同じだがアイコン・効果が異なり、何十種類ものタイプがある。 xCharacters キャラクターを増やす事ができる。 従来のCharaでは女性は使えなかったが女性も使う事が可能。 他にもアニメキャラクターも追加されている Kmods-Plus マルチの初期武器、使用可能武器の制限、弾数の設定、移動速度などの設定、NPCの発生、 プレイヤーのSpawn場所の設定などできるようになります。
https://w.atwiki.jp/yanoroavip/pages/204.html
日本語修正Modv1.0について 2021/12/30翻訳チームの健闘により完全日本語化に成功! Steam→ワークショップ→日本語修正Mod→サブスクライブ [Final Hope MOD制作指示書]をご覧ください。 このファイルは、ゲームのインストールディレクトリに同期して配置されます。 [MOD制作手順書]を参照してください。 私たちの目標は、外部の仕組みに頼らず、プレイヤーが直接ゲーム内で自分の作品を作り、販売できるようにすることです。 (現在のゲームのユニオンバッジのように、プレイヤーがヘッドドレスの画像ファイルをデザインしてアップロードし、ゲーム内で販売することができます)。 しかし、この目標が達成されていないうちは、まず手動インストールやSteamクリエイションスタジオを使って、プレイヤーが創作できるようにします。 (基本的に、私たちが開発するゲームは、God Sword , Final Hope , Bahamut Wars , Beetle Elf , など、すべて同じMOD管理システムを適用しています。) 現在のMOD制作方法を以下に説明します。 【MOD手動インストールまたは外部サイトMODインストール】 ゲーム内のMOD手動インストールディレクトリは、 Steam Collectionのゲーム名を右クリックして、 「管理」→「ローカルファイルの参照」でゲームのインストールディレクトリに移動する。 修正したファイルをこのディレクトリの相対的な位置に配置してください。 相対的な位置については、game\game installation directory\subdirectoriesのファイル配置を参照してください。 (ディレクトリ内のファイルを直接修正しないでください。修正を誤ると、ゲームが実行できなくなり、再度ダウンロードする必要があります。) Mod関連のディレクトリについて すべてのディレクトリは、Game Installation Directory\の下にあります。 MOD:手動でMODをインストールするディレクトリです。 SteamMod:Steam WorkshopのワークショップでダウンロードしたMODのインストールディレクトリです。 ModUpData:SteamWorkshopにアップロードするためのMODアップロードディレクトリです。 MODの優先順位は、SteamModが先に読み込まれることに注意してください。MODファイルがSteamModディレクトリとMODディレクトリに同時に存在する場合。その場合、SteamModディレクトリ内のファイルのみが読み込まれ、ゲーム中盤に配置されます。 最も簡単なMOD制作・設置方法の一つです。 各サブディレクトリ内のファイルを先にコピーし、描画ソフトで修正する。 そのファイルを直接、相対的な位置にある\MOD\にコピーすると、ゲーム内に修正結果が表示されます。 (ディレクトリ内のファイルを直接修正しないでください。修正が間違っていると、ゲームが実行できなくなり、再度ダウンロードする必要があります) チェック結果に問題がなければ、新たに修正したコンテンツをMOD公開サイトにアップロードします。 SteamのMODアップロードについては、 ModUpDataに改造例があるので参考にしてください。 steam s creation workshop MOD機構 について Steam s creation workshopは、非常に強力なゲームサポート機能です。完全なサブスクリプションダウンロードインターフェース、アップロード管理システムなどが含まれています。 最も重要なことは、このシステムがゲームとSteamコミュニティを完璧に融合させていることです。 プレイヤーは、世界中のプレイヤーが作成したMODを簡単に入手することができます。そして、クリエイターと議論し、交流できること。 ただし、Steam MOD SDKの開発・統合が急務であるため、現在のMODのダウンロードやアップロードの方法は比較的荒いものとなっています。今後、統合されたインターフェースシステムを徐々に改善していく予定です。 ゲーム内でSteam MODをダウンロード、アップロードする方法は以下の通りです。 Steam Creation WorkshopのMODをダウンロードする。 ゲームのコレクションライブラリページのワークショップページに直接アクセスします。 様々なMODを閲覧し、ゲーム内に登場するMODを直接登録する。 インストール後に使いづらいと感じた場合は、購読をキャンセルしてください。 Steam Creation WorkshopにMODをアップロード する 作成したMODを、ゲームディレクトリ内のModUpDataディレクトリに入れます。 プレビュー画像を作成します。次に、ゲームディレクトリ内のmodupload.txtファイルを開きます。 そのファイルの説明文とパスのパラメータを修正します。 その後、ゲームにログインし、ゲーム中のダイアログで /modupload と入力すると、アップロード動作が完了します。 アップロード後、Steamワークショップのページに行くと、先ほどアップロードしたMODが表示されます。 そして、Steamのページで様々な指示を修正したり、より多くのプレビュー画像をアップロードすることができます。 また、友達とだけ共有するように修正したり、MODを削除することもできます。 ほとんどのMOD関連の指示や設定操作は、Steamのワークショップページで完結できると言えます。 MODの作成とアップロードは、あくまでもゲーム側の責任です。 ゲームのインストールディレクトリ下のModUpDataディレクトリには、すでに2つのMOD例が配置されています。 modupload.txtファイルの各パラメータには、詳細なヘルプテキストも用意されています。 注意すべき点は、パスのパラメータは英語でなければならないということです。中国語のパスがあるとアップロードに失敗します。 また、ゲーム内で/moduploadを入力してMODを作成すると、画面に10桁の数字のセットが表示されます。 この数字の集合がMODのSteamMOD番号です。 今後のアップデートでは、このMOD番号を指定する必要があります。ですから、必ず最初にメモしておいてください。 以下はmodupload.txt ファイル内のテキストのうち、//を先頭に付けた記号は補助的な指示であり、削除しても構いません。 [Steam Modアップロード] アップロードを開始した時点で、Steam Workshopの規約に同意したものとみなされます https //steamcommunity.com/sharedfiles/workshoplegalagreement ゲーム内では、ダイアログラインで/moduploadを入力してください。 Modアップロードを展開するには、ダイアログボックスで/moduploadと入力します 最初のアップロードには0を入力し、更新時にはアイテム番号を入力してください ||MOD MODの番号は、最初のアップロードには0を入力し、今後の更新時には 更新するアイテム番号を入力してください 公開ファイルID=0 アップロードファイル配置ディレクトリ||アップロードされたMODファイルは、ゲームディレクトリのディレクトリ名ModUpData\ディレクトリに配置されます。ディレクトリ名は英語で表記してください。名前のディレクトリ内のすべてがアップロードされます contentfolder=mod01 Item main preview || MODのメインプレビューは、ゲームディレクトリ //ModUpDataに配置されます。アップロード後、Steamワークルームのページで「Add //Picture」を選択すると、さらに画像が追加されます。 プレビューファイル=preview01.jpg アイテムの可視性設定||公開されているかどうかは、アップロード後に //Steam ワークスペースのページに切り替えてください 可視性=0 アイテムの主な名称です。 title=Conspicuous injury status sign アイテムの説明。単純に最初は英語でアップロードして、Steamの//workspaceページで[Edit Title Description]を選択して、再度内容を充実させることができます。 description=ゲーム内で最も重要な怪我のサインを明白にし、一目でわかるようにする。 バージョンノート|インプレッション changenote=バージョン1.0 ゲームのファイル形式の記述について ゲームのファイルは、「Game Installation Directory」のサブディレクトリに配置されます。 プレイヤーはこれを修正して、MODディレクトリ内の相対的なディレクトリ位置に配置することができます。 (ディレクトリ内のファイルを直接修正しないでください。修正を誤るとゲームが実行できなくなり、再度ダウンロードする必要があります。) ゲームディレクトリ内の各サブディレクトリの説明 Char:様々なキャラクター関連の絵を配置します。基本的に全ての絵はアクションコードと一致します。 Data:アクションコードファイルを置きます。アクションコードのファイルを置きます。このファイルはツールのModelEditor.exeで編集します。 エフェクト:ゲーム内に様々な特殊効果の絵を配置します。特殊効果のアクションもModelEditor.exeで編集します。 マップ:ゲーム内のマップファイルです。 Texture:ゲーム内のテクスチャ。ゲーム内のインターフェイスやテクスチャです。 ツール アニメーション編集ツールです。 ゲームファイルには、インターフェイス、NPCモデリング、ヘッドギアモデリング、モンスターモデリング、キャラクターモデリング、スキル、特殊効果、顔文字、小マップ、大マップ、3D建物テクスチャなどが含まれています。 圧縮や暗号化はなく、お絵かきソフトで直接読み込んで修正することができます。 既存の絵を直接修正できるので、アニメーション編集ツールを使って表示範囲を修正する必要がありません。 例えば、ヘッドウェア、キャラクターの服、モンスターの服などです。すぐに修正してアップロードできます。 しかし、デザインを変更したり、絵の大きさを変えたい場合は、アニメーション編集ツールを使って表示座標位置を設定する必要があります。 例えば、セックスのアクションを増やしたり、スキルの特殊効果の豪華さを修正したりなどです。 編集ツールの使い方 アニメーションの編集・制作に関連するツールは、Game installation directory\Toolsに配置されます。 アクション編集ツールは、初心者にはかなり複雑です。編集前にバックアップを取っておくことをお勧めします。 時間を見つけては、アニメを録画して教えています。基本的には、一度見ただけでコンセプトがわかるようになっています。 画像フォーマットの説明 (以下の説明で使用している画像編集ツールはPhotoshopですが、TGAファイルとしてアーカイブできるものであれば、基本的には他のドローイングソフトでも作成可能です)。 画像ファイル形式。 画像ファイル形式はすべてTGAファイル。インデックスカラー(256色)、RGBカラー(32bit)に対応。 インデックスカラー(256色)を使うことで、グラフィックカードのメモリを節約することができます。しかし、現在、コンピュータの標準的な構成では、RGBカラーの画像ファイルを使用することができるはずです。なお、RGBカラーは32ビット形式で保存する必要があります。 基本的には、フォーマットが正しければ、ゲーム中に画像を表示することができます。 それよりも重要なのが【背景色】についての説明です。 いわゆる背景色とは、ゲームを撮像したときにフィルターをかけて表示されない色のことです。 RGBカラーの場合は、カラープレートレイヤーのαレイヤーがフィルター範囲となります。(色版層は画像層ではありません。) カラープレート」の任意のカラーレイヤーをクリックし、「コピー」を選択して新規レイヤーをコピーし、名前を「アルファ」とします(名前は自由に決められます)。 このカラープレートレイヤーでは、白い部分がゲーム内で表示される部分となり、それ以外の部分は無視されて表示されません。 (他のレイヤーに画像が描かれていても、アルファレイヤーが黒であれば無視されて表示されません)。 また、グレースケールは透明度の表現にも使えます。浸透感のある画像を描いてみましょう。 グレースケールを使ってチュールの服の透過性を表現したモンスター(\char\M_A03_1.tga) のファイルを参考にしてみてください。 アニメーションエディター説明書 後日追加
https://w.atwiki.jp/pickcrafter/pages/29.html
特徴 ブロック構成 画像 名前 レアリティ 備考 Orchid Seeds(蘭の種) Dandelion Seeds(タンポポの種) Coffee Beans(コーヒー豆) Jangle Log(ジャングルの木) Podzol(ポドゾル) Jade(翡翠) 出現するMob
https://w.atwiki.jp/wayward_jp/pages/27.html
MOD WaywardはModがサポートされていて、公式Wikiでいくつか紹介されています。 (リンクはしていませんので使用する際は公式wikiからどうぞ。公式wikiトップのSub Wikis以下Saved Game StatesページからMods pageへと行けます。) 公式wikiのModの使用法 1.当該ページにて「Download Mod」リンクを右クリックし「名前をつけて保存」で任意の場所に保存する。 またはリンクをクリックしてブラウザ上で内容を表示させてからページを右クリックして「名前をつけて保存」する。 2.Waywardを起動し、オプションメニューの「Modding」から保存したファイルを読み込む。 Modリスト Better Save/Load from File セーブ直後にリロードが必要なエラーが起こらない。 オプションではなくメインメニューにセーブボタンを追加する ロードボタンは追加ファイルのインプットではなくファイル自体を要求する。 場所ごとにきれいなファイルネームを提案する。 Opera12でもデフォルトのファイルネームであれば動作する。 ローカルストレージ全体を保存するのではなく、実際のゲームデータだけを保存する。 以前のSave/Load from File MODのデータも読み込みできる。 対応バージョン:Beta 1.6+ Save/Load from File オプションページに、ローカルファイルにセーブデータを保存/読み込みできるボタンを追加する。 このModで作成されたセーブデータも公式wikiやフォーラムで公開されている。 対応バージョン:Beta 1.4+ Show World Map Cheat ワールドマップと洞窟マップをオプションメニューのボタンで表示できるようにする。 対応バージョン:Beta 1.6+ / Free 1.9.4 +... //公式wikiのものを少しだけ改変、画面左下メニューの「Skills」の次に表示ON/OFFボタンを移動させています //バージョン1.9.4 Free版で動作確認済 - スイッチの人 $("#actionsopen").parent().append( button type="button" id="showMap" Show Map /button ); $("#showMap").css("background-color","rgb(64,64,128)"); $("#actionsopen").parent().on("click","#showMap",function(e){ if($("#map").css("display")=="block")$("#map").hide()}else{$("#map").show()} e.preventDefault() }); Tweakward かなり発展したModで、ゲームプレイの改善し磨きをかけることを試みた。完全に動作させるにはModをロードしてから新しいゲームを始める(自殺する)必要がある。今はまだ自動でロードは出来ないので、始める度にModをロードする必要がある。今後も開発が続けられる予定。 対応バージョン:Beta 1.6+ EzEdit 以下のMODを一度に導入する。 Save/Load from File Show World Map Cheat EzRenderTile EzItemGet Selective Monster Spawner 対応バージョン:Beta 1.5 Monster Party 最大100のモンスターを周囲に出現させる。スポーンするモンスターの種類はタレント値と地形に依存する(通常のスポーンと同じになる)。 対応バージョン:Beta 1.6+ Unmovable Chests Fix 岩の上や洞窟の入口などにある箱(や他の周囲のアイテム)を入手する。このModをロードするとアクセスを復活させるためにそれらのものの下に土ができる。 対応バージョン:全て? 野良Mod テキストファイルにコピペしてmodで読み込む 入れ物 containerに耐久基本値を付ける これによってrepairやreinforceが出来るようになる。 +... items.smallbag.durability = 10; items.backpack.durability = 20; items.leatherquiver.durability = 40; 値はお好みで。 苗木 「枝」から「苗木」が作れるようになる。 +... items.sapling.recipe={requires [["branch", 1, 1]],skill "botany",level "Advanced"}; for(var i = 0; i player.crafted.length; i++)if(player.crafted[i] === "sapling")player.crafted.splice(i,1); 上の苗木modを使わなくなったら再起動のあと実行しましょう。 modを使った事によって出来たちょっとしたゴミを消してくれます。 実行しなくても影響ははい(はず) たいまつ 持続ターン +... items.poletorch_lit.decayable[0] = 1000; items.barktorch_lit.decayable[0] = 4000; items.animalfattorch_lit.decayable[0] = 14000; 値はお好みで。↑は全部4倍した値 鶏 鳥肉が食べたい。羽を毟りたい。そんな貴方に +... 非推奨 for(var i=0;i 0xB;i++)for(var j=0;j 0xB;j++)spawnMonster("chicken", player.x+player.direction.x*6-5+i, player.y+player.direction.y*6-5+j); passTurn(false); 推奨 spawnMonster("chicken", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); ↑の変則版、モンスター呼び出し。 モンスターと戦いたい、そんな君に……。 +... 魚類はちょっと特殊 spawnMonster("rabbit", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); //spawnMonster("rabbit"の"ここに"↓の英文名を書き込むと目の前にモンスターが出現します。 //ただし、目の前に障害物や既にモンスターが存在する場合は出現しません。 //rabbit = うさぎ //slime = スライム //jellycube = ゼリーキューブ //rat = 鼠 //giantrat = 大きな鼠 //chicken = ニワトリ //harpy = ハーピー //giantspider = 大きな蜘蛛 //trapdoorspider = トラップドアスパイダー //snake = 蛇 //bear = 熊 //vampirebat = 吸血コウモリ //greywolf = グレイウルフ //imp = インプ //bogling = ボグリング //livingrock = リビングロック //zombie = ゾンビ //skeleton = スケルトン //pirateghost = パイレーツゴースト //timeskitter = タイムスキッター //fireelemental = ファイヤーエレメンタル //hobgoblin = ホブゴブリン //livingmushroom = リビングマッシュルーム //kraken = クラーケン //↓水が目の前にある場合のみ出現 //blindfish = 盲目魚 //shark = 鮫 //trout = マス 沼設置 peatを設置すると沼が出来るように +... items.peat.use = ["stokeFire", "placeTile"], items.peat.onUse = {stokeFire 4, placeTile "swamp"} 変異種 変異種.txt 黒色火薬 A.製作時、多く作る B.発砲時、耐久にダメージ 大きなミニマップ nキーで大きなミニマップを表示。 敵表示有り。txt編集で非表示に出来るようにしてる。 ver0.0.2 ver 0.0.2 地下の事を忘れていたのでその修正。 クラフティングテーブル追加 茶色い領域にアイテムを並べるとそこからクラフトします 適当にアイテムを選ばれるのが嫌な人に craftingtable_v100.js ご利用は計画的に アイテム発生Mod +... //日本語化の後に読み込むとアイテム名だけ日本語化 //二回読み込むと削除 if(document.getElementById( ItemGetMod ) === null){ $("#optionswindow").append( div id="ItemGetMod" / ); $("#ItemGetMod").append( p ItemGetMod /p select id="ItemGetMod_ItemList" size="5" / ); for(var itemType in items){ $( #ItemGetMod_ItemList ).append( option value=" + itemType + " + ItemGetMod_ItemList.length + " " + items[itemType].name + /option ); } ItemGetMod_ItemList.selectedIndex = 0; $("#ItemGetMod").append( select id = "ItemGetMod_QualityList" size="5" \ option value = "" Durability /option \ option value = "Remarkable" Remarkable /option \ option value = "Exceptional" Exceptional /option \ option value = "Legendary" Legendary /option \ option value = "Random" selected Random /option \ /select ); $("#ItemGetMod").append( button type="button" id="ItemGetMod_ItemGetButton" Get /button ); $("#ItemGetMod").on("click", #ItemGetMod_ItemGetButton , function(e) { itemGet({type ItemGetMod_ItemList.value, quality ItemGetMod_QualityList.value}); craftTable() }); } else { var delTargetElement=document.getElementById( ItemGetMod ); delTargetElement.parentNode.removeChild(delTargetElement); } チェンジタイル タイルのパターンはセーブされないので悪しからず +... //チェンジタイル //タイルのパターンはセーブされないので悪しからず //二回読み込むと削除 if(document.getElementById( ChangeTileMod ) === null){ $("#optionswindow").append( div id="ChangeTileMod" / ); $("#ChangeTileMod").append( p ChangeTileMod /p ); $("#ChangeTileMod").append( select id="ChangeTileMod_TileList" size="5" / ); for(var TileType in tiletypes){ $( #ChangeTileMod_TileList ).append( option value=" + TileType + " + ChangeTileMod_TileList.length + " " + tiletypes[TileType].name + /option ); } ChangeTileMod_TileList.selectedIndex = 0; $("#ChangeTileMod").append( select id="ChangeTileMod_PatternList" size="5" / ); $("#ChangeTileMod_PatternList").append( option value="0" 0 /option ); $("#ChangeTileMod_PatternList").append( option value="1" 1 /option ); $("#ChangeTileMod_PatternList").append( option value="2" 2 /option ); $("#ChangeTileMod_PatternList").append( option value="Random" selected Random /option ); $("#ChangeTileMod").append( button type="button" id="ChangeTileMod_ChangeTileButton" Change /button ); $("#ChangeTileMod").on("click", #ChangeTileMod_ChangeTileButton , function(e) { changeTile({type ChangeTileMod_TileList.value}, player.x + player.direction.x, player.y + player.direction.y, false); if(ChangeTileMod_PatternList.value == "Random"){ tile[player.x + player.direction.x][player.y + player.direction.y].gfx = Math.floor(Math.random() * 3); } else { tile[player.x + player.direction.x][player.y + player.direction.y].gfx = ChangeTileMod_PatternList.value; } passTurn(false); }); } else { var delTargetElement=document.getElementById( ChangeTileMod ); delTargetElement.parentNode.removeChild(delTargetElement); } ・いろいろスイッチ&インベントリエディタ&技術情報 ※ゲームバランス崩壊待ったなし +... //いろいろスイッチ version 0.12c //=== スイッチ類説明 === //◆ボタン群 (押す度に発動) //[Health][Stamina][FOOD][WATER]それぞれライフ・スタミナ・満腹度・水分全快 //[Bad]毒・やけど・切り傷回復 //[HPSTBAD]ライフ・スタミナ・状態異常全快(満腹度・水分は以外) //[All]上記全て全快 //[converge map]インベントリ内の全てのボロボロの地図の目的場所を自分の足元へ(コンテナ・カバン内のものは除外) //[Find Drop]落ちているアイテムを近い順にログに表示 //[Find Placed]設置されているアイテムを近い順にログに表示 //[Find Ore]木の実、鉱物、沼地、灰、雪などの資源を近い順にログに表示 //※地上にいるときは地下のものは表示されません、また地下にいるときは地上のものは表示されません //※検索結果表示数の初期値は10です // mod_recover_saveData.findCount = 20 // と入力すると表示数が20件に変更されます、緑色のsaveボタンを押した時点での値が保存されます //[soundBuff Clear]予約済みのサウンドエフェクトを全て削除します //[invClean]現在持っているアイテムの最大ID以降の未使用領域を消去します //メインで所持するもの以外を全てカバンやチェストに保管することで最大の効果を得ることができます //上記2つとメッセージウィンドウ下部の[Clear Messages]ボタンを押すことで長時間プレイ時の処理の重さを低減します //◆スイッチ群 (押すと有効、もう一度押すと無効) //[AutoRecover]ライフとスタミナが常に全快状態 //[AlwaysDaylight]常に昼、洞窟内も昼 //[Ignore Weight]重さ超過を無視 //[fresh sea]海水を淡水に(水袋・ガラス瓶で海を整地可能)、地下エリアの暗闇部分を砂利に //[Skillgrow]スキル上昇判定時に必ずスキル経験上昇・スキル100%キャップ解除 //[Delay cut]行動待ち時間をスキップ(オプションの「Smooth Movement/動作を滑らかにする」をONにしていると効果無し) //[SpeedCraft]製作待ち時間をスキップ //[Dig100%]必ず掘れる、対象のマスを掘った時に取得できる可能性があるアイテムを全て取得する //[infinityGun]saltpeter(硝石)無しで銃が撃てる、銃弾は別途必要 //[Map100%]瓶入りの手紙を開けると必ず宝の地図が出る //[holeySkin]holey(穴あき)、空の水袋で淡水を汲んでも水が満たされない、海水は汲める //[dropAllExtend]深い淡水・深い海水に向かってアイテムを「全て置く」と、まとめて捨てます(コンテナ・カバン・装備中・QuickSlot内は除外) // 地面に置く場合も、装備中・QuickSlotのアイテムは除外します //[pickupAll]踏んだら全部拾う //[MultiCreate]ボタンはクラフトテーブルの上に生成されます、1クリックで素材が続く限り同じアイテムを作成します、HP減少時に中断します //[taintFree]耐久減少と腐敗を無くす //[autoCarve]死体を踏んで、移動するときに足元にある死体と血痕を全て切り出し(消費ターンは1) //[ugCulture]地下に植物を植えることができます //[RottenMeat]製作から腐った肉を作成できます //[calcWeight]カバン・コンテナ等を開けた時やアイテムを入れた時に、入っているアイテム数、現在の重量、空き重量が表示されます //[waterClean]キャンプファイアに向かっていなくても脱塩水、浄化水を作成できるようになります //[immotalFire]キャンプファイア・かまど・炉・金床・トーチスタンドの火が消えなくなる //v0.11更新 //ボタンの状態を保存する処理を追加しました、saveボタンで現在の状態を保存できます(押さないと保存されません) //modを読み込んだ時に保存された情報があれば自動で適用されます //ウィンドウ幅の保存・読込ができなかったため、スクリプト先頭に幅を指定する変数(mod_recover_width)を付加しています //v0.11b更新 //multiCreateボタンの設定が正常に保存・読み出しされるように修正 //v0.11c更新 //[female]コメントログにあったプレイヤー画像 [(名無しさん) 2014-01-30 06 03 11] 差し替えテスト //v0.11d更新 //[offalNOTmeat]内臓の属性(堆肥・肉)を解除します、ONにすると内臓の使い道がマジカルエッセンスと腱の2つだけになります //v0.11e更新 //[offalNOTmeat]ボタン操作時に製作テーブルも更新 //[DurMax]使用した素材の耐久値に関わらず製作品の耐久値がMAXに、最大耐久値はランダムのまま //v0.11f更新 //[popAberrant]ONの状態でモンスターがポップした場合、必ず変異種になる…はずです //[DurMax]現在耐久値を最大耐久値と同じにするよう修正 //v0.11g更新 //[multiCreate]一括作成の対象から装備品・クイックスロットのアイテムを除外 //v0.12更新 //[Find Drop]/[Find Placed]/[Find Ore]の探索用ボタンを追加 //[SoundBuff Clear]/[InvClean]のメンテナンスボタンを追加 //読み込み時に[MultiCreate]ボタンを必ずoffにするよう変更 //mod_recoverの表示/非表示切り替えボタンの位置をオプションウィンドウ内部からメイン画面左下の[Skills]ボタンの次に変更 //mod_recoverウィンドウの位置を保存するよう変更 //緑色の[save]ボタンを押した際にゲーム全体を保存するよう変更 //既知の不具合 //製作した壁を設置した後に回収すると耐久力がおかしくなって再設置できない //→コメントログにあるとおり下記のコマンドを貼り付けて対処をお願いします、このコードを使用すると耐久力の表示を修正します //for(var itm in player.invItems){if(!isFinite(player.invItems[itm].mindur)){player.invItems[itm].mindur=player.invItems[itm].maxdur}} //ロード直後に十字キーが効かないことがあります //→画面をクリックして一度でもキャラの方向を変えると以降正しく反応します //Findボタンを押したときに方向表示が文字化けする //→v0.12bで修正済 //Find Oreボタンが1件しか表示してくれない //→v0.12cでmod_recover_saveData.findCountを参照するよう修正済 Messages.debug="_0_";var f_ret=false;var buttondebug=false;var mod_recover_saveData=[];initSaveData();function _msg(a,c,b){if(!c){c=""}if(b==""||b===undefined||b===null){b="debug"}ui.message(b,c,[a])}function initSaveData(){mod_recover_saveData.left=0;mod_recover_saveData.top=0;mod_recover_saveData.width=560;mod_recover_saveData.height=140;mod_recover_saveData.recoverAuto=false;mod_recover_saveData.alwaysDaylight=false;mod_recover_saveData.ignoreWeight=false;mod_recover_saveData.freshWater=false;mod_recover_saveData.skillGrow=false;mod_recover_saveData.delaycut=false;mod_recover_saveData.speedCraft=false;mod_recover_saveData.successDig=false;mod_recover_saveData.infinityGun=false;mod_recover_saveData.treasureMap=false;mod_recover_saveData.holeySkin=false;mod_recover_saveData.dropAllEx=false;mod_recover_saveData.pickupAll=false;mod_recover_saveData.taintFree=false;mod_recover_saveData.autoCarve=false;mod_recover_saveData.ugCulture=false;mod_recover_saveData.rottenMeat=false;mod_recover_saveData.calcWeight=false;mod_recover_saveData.waterClean=false;mod_recover_saveData.immotalFire=false;mod_recover_saveData.female=false;mod_recover_saveData.offalNOTmeat=false;mod_recover_saveData.DurMax=false;mod_recover_saveData.Aberrant=false;mod_recover_saveData.findCount=10}function sw(b,a){if(b.indexOf("#")!=0){b="#"+b}if(a==""||a==undefined||a==null){a="black"}if($(b).css("background-color")=="rgb(0, 0, 0)"){a="orange"}$(b).css("background-color",a)}function appendfunc_addNewWindow(a){$("#afterload").prepend( div id=" +a+ _root" / );$("#"+a+"_root").prepend( div id=" +a+ _window" class="window" title= +a+ " / );$("#"+a+"_window").dialog({width 500,height 140,autoOpen true,closeOnEscape false,title a});$("#mod_root").append( button id=" +a+ _visible" +a+" /button ");$("#mod_root").on("click","#"+a+"_vibible",function(b){if($("#"+a+"_window").dialog("isOpen")){$("#"+a+"_window").dialog("close")}else{$("#"+a+"_window").dialog("open")}})}if(document.getElementById("mod_root")===null){$("#optionswindow").append( div id="mod_root" / );$("#optionswindow").append( div id="mod_disp" / )}if(document.getElementById("mod_recover_root")==null){$("#actionsopen").parent().append( button id="mod_recover_visible" mod_recover /button );$("#mod_recover_visible").css("background-color","rgba(150,150,0,0.6)");$("#afterload").prepend( div id="mod_recover_root" / );$("#mod_recover_root").prepend( div id="mod_recover_window" class="window" title="mod_recover" / );$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false,title "mod_recover"});$("#mod_recover_window").append( div id="mod_recover_window_top" / );$("#mod_recover_window_top").append( div id="recover" / );$("#recover").append( button type="button" id="recover_Health" Health /button button type="button" id="recover_Stamina" Stamina /button button type="button" id="recover_Hunger" Food /button button type="button" id="recover_Thirst" WATER /buttion button type="button" id="recover_BadStatus" Bad /button button type="button" id="recover_HealthStaminaBadStatus" HPSTBAD /button button type="button" id="recover_All" All /button );$("#recover").append( | button id="mod_convergeMap" collectMap /button );$("#recover").append( | button id="mod_recover_save" save /button );$("#recover").on("click","#mod_recover_save",function(a){mod_recover_save();_msg("mod_recover button status saved.");saveGame()});$("#mod_recover_save").css("background-color","green");$("#recover").append( | button id="mod_searchDrop" Find Drop /button );$("#recover").on("click","#mod_searchDrop",function(a){appendfunc_searchDropItem()});$("#recover").append( button id="mod_searchPlaced" Find Placed /button );$("#recover").on("click","#mod_searchPlaced",function(a){appendfunc_searchPlacedItem()});$("#recover").append( button id="mod_findOre" Find Ore /button );var oreSonar=[];isInitoreSonar=false;$("#recover").on("click","#mod_findOre",function(a){if(!isInitoreSonar){appendfunc_oreSonarInit();isInitoreSonar=true}appendfunc_oreSonarVerify()});$("#recover").append( | button id="mod_SoundFlush" SoundBuff Clear /button );$("#recover").on("click","#mod_SoundFlush",function(a){ui.message("debug","",[audio.soundList.length+" Soundbuffer flushed"]);audio.soundList=[]});$("#recover").append( | button id="mod_invClean" InvClean /button hr );$("#recover").on("click","#mod_invClean",function(c){var a=0;for(var b=player.invItems.length-1;b =0;b--){if(!player.invItems[b]){player.invItems.splice(b,1);a++}else{break}}ui.message("debug","",["invIndex="+player.invItems.length+"(-"+a+" buffer)"])});function appendfunc_convergeMap(){f_ret=false;var a=0;for(itemType in player.invItems){if(player.invItems[itemType].type=="tatteredmap"){a++;player.invItems[itemType].props[0]=player.x;player.invItems[itemType].props[1]=player.y}}if(a =1){ui.message("debug","",[a+" tatteled maps in your inventry pointing on your foot!"]);f_ret=true}else{ui.message("debug","",["You have no tattered map."]);f_ret=false}delete a;return f_ret}$("#recover").on("click","#mod_convergeMap",function(a){appendfunc_convergeMap()});$("#recover_Health").css("background-color","orange");$("#recover_Stamina").css("background-color","#00EA0B");$("#recover_Hunger").css("background-color","purple");$("#recover_Thirst").css("background-color","#0033FF");$("#mod_recover_button").on("click","#recover_Visible",function(a){if($("#recover").css("display")=="none"){$("#recover").css("display","block")}else{$("#recover").css("display","none")}});function appendfunc_recover(a,b){f_ret=false;switch(a){case"health" if(player.strength==player.health){if(!b){_msg("recover Health needless.","bad");return false}}else{if(!b){_msg(player.strength-player.health,"","gainedHealth")}player.health=player.strength;f_ret=true}break;case"stamina" if(player.stamina==player.dexterity){if(!b){_msg("recover Stamina needless.","bad");return false}}else{if(!b){_msg(player.dexterity-player.stamina,"","gainedStamina")}player.stamina=player.dexterity;f_ret=true}break;case"hunger" if(player.hunger==player.starvation){if(!b){_msg("recover Food needless.","bad");f_ret=false}}else{if(!b){_msg(player.starvation-player.hunger,"","gainedHunger")}player.hunger=player.starvation;f_ret=true}break;case"thirst" if(player.thirst==player.dehydration){if(!b){_msg("recover Thirst needless.","bad");f_ret=false}}else{if(!b){_msg(player.dehydration-player.thirst,"","gainedThirst")}player.thirst=player.dehydration;f_ret=true}break;case"bad" if(player.status.bleeding){if(!b){_msg("","","curedBleeding")}player.status.bleeding=false;f_ret=true}if(player.status.burning){if(!b){_msg("","","curedBurning")}player.status.burning=false;f_ret=true}if(player.status.poisoned){if(!b){_msg("","","curedPoison")}player.status.poisoned=false;f_ret=true}if(!b !f_ret){_msg("recover Bad needless.","bad")}break}return f_ret}$("#recover").on("click","#recover_Health",function(a){appendfunc_recover("health");passTurn(false)});$("#recover").on("click","#recover_Stamina",function(a){appendfunc_recover("stamina");passTurn(false)});$("#recover").on("click","#recover_Hunger",function(a){appendfunc_recover("hunger");passTurn(false)});$("#recover").on("click","#recover_Thirst",function(a){appendfunc_recover("thirst");passTurn(false)});$("#recover").on("click","#recover_BadStatus",function(a){appendfunc_recover("bad");passTurn(false)});$("#recover").on("click","#recover_HealthStaminaBadStatus",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("Health Stamina Bad Status recovered.")}else{_msg("recover HPSTBAD needless.","bad")}delete a;passTurn(false)});$("#recover").on("click","#recover_All",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("hunger",true)||a;a=appendfunc_recover("thirst",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("You are completely recovered.")}else{_msg("recover All needless.","bad")}delete a;passTurn(false)});function chk_recoverAuto(){if(passTurn.toString().indexOf("dexterity")==-1){return false}else{return true}}function appendfunc_recoverAuto(){f_ret=false;var prev1="game.staminaTimer++;";var new_1="game.staminaTimer++;player.health=player.strength;player.stamina=player.dexterity;";if(!chk_recoverAuto()){passTurn=eval("("+passTurn.toString().replace(prev1,new_1)+")");sw("#recover_auto","orange");f_ret=true}else{passTurn=eval("("+passTurn.toString().replace(new_1,prev1)+")");sw("#recover_auto");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="recover_auto" AutoRecover /button );if(passTurn.toString().indexOf("dexterity")!=-1){sw("#recover_auto","orange")}$("#recover").on("click","#recover_auto",function(a){appendfunc_recoverAuto()});function chk_alwaysDaylight(){if(lighting.toString().indexOf("player.light = 0;")==-1){return false}else{return true}}function appendfunc_alwaysDaylight(){f_ret=false;var prev1="var lightLevel = player.light;";var new_1="player.light = 0;var lightLevel = player.light;";var prev2="player.x game.mapSize";var new_2="player.x game.mapSize * 3";if(!chk_alwaysDaylight()){lighting=eval("("+lighting.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_AlwaysDaylight","orange");f_ret=true}else{lighting=eval("("+lighting.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_AlwaysDaylight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_AlwaysDaylight" Always Daylight /button );if(lighting.toString().indexOf("player.light = 0;")!=-1){sw("#mod_AlwaysDaylight","orange")}$("#recover").on("click","#mod_AlwaysDaylight",function(a){appendfunc_alwaysDaylight()});function chk_ignoreWeight(){if(player.checkWeight.toString().indexOf("0===1")==-1){return false}else{return true}}function appendfunc_ignoreWeight(){f_ret=false;var prev1="player.weight player.strength + 15";var new_1="0===1";var prev2="Utilities.roundNumber(contWeight + items[player.invItems[itemId].type].weight, 1) maxWeight";var new_2="0===1";if(!chk_ignoreWeight()){player.checkWeight=eval("("+player.checkWeight.toString().replace(prev1,new_1)+")");dropItem=eval("("+dropItem.toString().replace(prev2,new_2)+")");sw("#mod_ignoreWeight","orange");f_ret=true}else{player.checkWeight=eval("("+player.checkWeight.toString().replace(new_1,prev1)+")");dropItem=eval("("+dropItem.toString().replace(new_2,prev2)+")");sw("#mod_ignoreWeight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_ignoreWeight" Ignore Weight /button );if(player.checkWeight.toString().indexOf("0===1")!=-1){sw("#mod_ignoreWeight","orange")}$("#recover").on("click","#mod_ignoreWeight",function(a){appendfunc_ignoreWeight()});function chk_freshWater(){if(tile.edited==undefined){return false}else{return true}}function appendfunc_freshWater(){f_ret=false;if(!chk_freshWater()){tile.edited=true}else{delete tile.edited}for(var b=0;b 1024;b++){for(var a=0;a 512;a++){if(tile.edited){if(tile[b][a].type=="water"){tile[b][a].type="freshwater";tile[b][a].q="water"}if(tile[b][a].type=="shallowwater"){tile[b][a].type="freshshallowwater";tile[b][a].q="shallowwater"}if(tile[b][a].type=="deepwater"){tile[b][a].type="freshdeepwater";tile[b][a].q="deepwater"}if(tile[b][a].type=="darkness"){tile[b][a].type="sand";tile[b][a].q="darkness"}}else{if(tile[b][a].q){if(tile[b][a].type=="freshwater" tile[b][a].q=="water"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshshallowwater" tile[b][a].q=="shallowwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshdeepwater" tile[b][a].q=="deepwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="sand" tile[b][a].q=="darkness"){tile[b][a].type=tile[b][a].q}delete tile[b][a].q}}}}if(tile[0][0].q){sw("#mod_freshWater","orange");f_ret=true}else{sw("#mod_freshWater","black");f_ret=false}delete b;delete a;return f_ret}$("#recover").append( button id="mod_freshWater" fresh sea /button );if(tile.edited){sw("#mod_freshWater","orange")}$("#recover").on("click","#mod_freshWater",function(a){appendfunc_freshWater()});function chk_skillGrow(){if(player.skillGain.toString().indexOf("0===0")==-1){return false}else{return true}}function appendfunc_skillGrow(){f_ret=false;var prev1="this.skills[skillType].percent = skillChance this.skills[skillType].percent 100 || bypass";var new_1="0===0";var prev2="this.skills[skillType].core 100";var new_2="this.skills[skillType].core == 100";if(!chk_skillGrow()){player.skillGain=eval("("+player.skillGain.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_skillGrow","orange");f_ret=true}else{player.skillGain=eval("("+player.skillGain.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_skillGrow","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_skillGrow" Skillgrow /button );if(player.skillGain.toString().indexOf("0===0")!=-1){$("#mod_skillGrow").css("background-color","orange")}$("#recover").on("click","#mod_skillGrow",function(a){appendfunc_skillGrow()});function chk_delaycut(){if(render.toString().indexOf("ui.keyTimer=0")==-1){return false}else{return true}}function appendfunc_delaycut(){f_ret=false;prev1="ui.keyTimer++";new_1="ui.keyTimer=0;game.delay=0;";if(!chk_delaycut()){render=eval("("+render.toString().replace(prev1,new_1)+")");sw("#mod_delaycut","orange");f_ret=true}else{render=eval("("+render.toString().replace(new_1,prev1)+")");sw("#mod_delaycut","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button id="mod_delaycut" Delay cut /button );if(render.toString().indexOf("ui.keyTimer++")==-1){sw("#mod_delaycut","orange")}$("#recover").on("click","#mod_delaycut",function(a){appendfunc_delaycut()});function chk_speedCraft(){if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")==-1){return false}else{return true}}function appendfunc_speedCraft(){f_ret=false;var ue2=$._data($("#craft").get(0)).events.mouseup[0].handler.toString();if(ue2.indexOf("0 === 0")==-1){ue2=ue2.replace("ui.keyTimer = 20","0 === 0");sw("#mod_speedCraft","orange");f_ret=true}else{ue2=ue2.replace("0 === 0","ui.keyTimer = 20");sw("#mod_speedCraft","black");f_ret=false}$("#craft").off("mouseup",".craft").on("mouseup",".craft",eval("("+ue2+")"));delete ue2;return f_ret}$("#recover").append( button id="mod_speedCraft" SpeedCraft /button );if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")!=-1){sw("#mod_speedCraft","orange")}$("#recover").on("click","#mod_speedCraft",function(a){appendfunc_speedCraft()});function chk_successDig(){if(player.actions.dig.toString().indexOf("itemChance = 0;")==-1){return false}else{return true}}function appendfunc_successDig(){f_ret=false;var prev1="var getItem = false;";var new_1="var getItem = false;itemChance = 0;";var prev2="var item = {";var new_2="for(var i=0;i =resource[tileType].length-1;i++){var item = {";var prev3="newTileType = cave;";var new_3="newTileType = cave;}";var prev4="type resource[tileType][resourceType][0]";var new_4="type resource[tileType][i][0]";var prev5="regathered) {";var new_5="regathered=== a ){";if(!chk_successDig()){player.actions.dig=eval("("+player.actions.dig.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_successDig","orange");f_ret=true}else{player.actions.dig=eval("("+player.actions.dig.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_successDig","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;return f_ret}$("#recover").append( button id="mod_successDig" Dig100% /button );if(player.actions.dig.toString().indexOf("itemChance = 0;")!=-1){sw("#mod_successDig","orange")}$("#recover").on("click","#mod_successDig",function(a){appendfunc_successDig()});function chk_infinityGun(){if(player.actions.fire.toString().indexOf("infinity bullet")==-1){return false}else{return true}}function appendfunc_infinityGun(){f_ret=false;var prev1="removeItem(blackpowder.itemId, INV , blackpowder.containerId);";var new_1="console.log( infinity bullet );";var prev2="!blackpowder";var new_2="0===1";if(!chk_infinityGun()){player.actions.fire=eval("("+player.actions.fire.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_infinityGun","orange");f_ret=true}else{player.actions.fire=eval("("+player.actions.fire.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_infinityGun","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_infinityGun infinityGun /button ");if(player.actions.fire.toString().indexOf("infinity bullet")!=-1){sw("#mod_infinityGun","orange")}$("#recover").on("click","#mod_infinityGun",function(a){appendfunc_infinityGun()});function chk_treasureMap(){if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")==-1){return false}else{return true}}function appendfunc_treasureMap(){f_ret=false;var prev1="Math.random() * 4";var new_1="Math.random() * 1 + 1";if(!chk_treasureMap()){player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(prev1,new_1)+")");sw("#mod_treasureMap","orange");f_ret=true}else{player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(new_1,prev1)+")");sw("#mod_treasureMap","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_treasureMap Map100% /button ");if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")!=-1){sw("#mod_treasureMap","orange")}$("#recover").on("click","#mod_treasureMap",function(a){appendfunc_treasureMap()});function chk_holeySkin(){if(player.actions.fillWater.toString().indexOf("e = unpurifiedfreshwaterwaterskin ")!=-1){return false}else{return true}}function appendfunc_holeySkin(){f_ret=false;var prev1="e = unpurifiedfreshwaterwaterskin ";var new_1="e = waterskin ";if(!chk_holeySkin()){player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(prev1,new_1)+")");sw("#mod_holeySkin","orange");f_ret=true}else{player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(new_1,prev1)+")");sw("#mod_holeySkin","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_holeySkin holeySkin /button ");if(chk_holeySkin()){sw("#mod_holeySkin","orange")}$("#recover").on("click","#mod_holeySkin",function(a){appendfunc_holeySkin()});function chk_dropAllEx(){if(dropItem.toString().indexOf("if(dropAll)")==-1){return false}else{return true}}function appendfunc_dropAllEx(){f_ret=false;var prev1="ui.message( waterDrop , normal , [items[itemType].name]);";var new_1=prev1+"if(dropAll){for(var playerItem=0;playerItem player.invItems.length;playerItem++){if(player.invItems[playerItem]!==undefined player.invItems[playerItem]!==null){if(player.invItems[playerItem].type===itemType !player.invItems[playerItem].quickSlotted !player.invItems[playerItem].equipped){removeItem(playerItem, INV ,false)}}}audio.queueSfx( water );passTurn(true);return}";var prev2="player.invItems[playerItem].type === itemType";var new_2=prev2+" !player.invItems[playerItem].equipped !player.invItems[playerItem].quickSlotted";if(!chk_dropAllEx()){dropItem=eval("("+dropItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_dropAllEx","orange");f_ret=true}else{dropItem=eval("("+dropItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_dropAllEx","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_dropAllEx dropAllExtend /button ");if(chk_dropAllEx()){sw("#mod_dropAllEx","orange")}$("#recover").on("click","#mod_dropAllEx",function(a){appendfunc_dropAllEx()});function chk_pickupAll(){if(checkUnderPlayer.toString().indexOf("while")==-1){return false}else{return true}}function appendfunc_pickupAll(){f_ret=false;var prev1="var keys = Object.keys(tile[playerX][playerY].tileitems);";var new_1=prev1+"while(keys.length =1){";var prev2= ui.hintDisplay("fastpickup"); ;var new_2=prev2+"}keys.pop();";if(!chk_pickupAll()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1).replace(prev2,new_2)+")");$("#mod_pickupAll").css("background-color","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1).replace(new_2,prev2)+")");$("#mod_pickupAll").css("background-color","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type="button" id="mod_pickupAll" pickupAll /button );if(chk_pickupAll()){sw("#mod_pickupAll","orange")}$("#recover").on("click","#mod_pickupAll",function(a){appendfunc_pickupAll()});function chk_multiCreate(){if(craftItem.toString().indexOf("tmpHealth")==-1){return false}else{return true}}function appendfunc_multiCreate(){f_ret=false;var turnUpdate=false;var prev1="var consumes = [];";var new_1= do{var turnUpdate=false;craftMsg=""; +prev1;var tmpHealth=player.health;"+prev1";var prev2="return !failed;\r\n }";var new_2="}}while(craftMsg!= tmpHealth = player.health);passTurn(true);return !failed;";var prev3="passTurn(true)";var new_3="passTurn(false)";var prev4="ui.$equip.find( li )";var new_4="/*"+prev4;var prev5="// get";var new_5="*/"+prev5;if(!chk_multiCreate()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_multiCreate","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_multiCreate","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete tmpHealth;return f_ret}$( div id="mod_multiCreate_frame" button type="button" id="mod_multiCreate" MultiCreate /button /div ).insertBefore($("#craftwindow"));if(chk_multiCreate()){sw("#mod_multiCreate","orange")}$("#mod_multiCreate_frame").on("click","#mod_multiCreate",function(a){appendfunc_multiCreate()});function decreaseDur(b,a){return b}function decreaseDecay(b,a){return b}function chk_taintFree(){if(player.actions.attack.toString().indexOf("ammo.mindur--")!=-1){return false}else{return true}}function appendfunc_taintFree(){f_ret=false;var prev1="ammo.mindur--;";var new_1="decreaseDur(ammo, player.actions.attack-1 );";var prev2="weapon.mindur--;";var new_2="decreaseDur(weapon, player.actions.attack-2 );";var prev3="item.mindur = tileItem.mindur - 1;";var new_3="decreaseDur(tileItem, player.actions.dig );item.mindur = tileItem.mindur;";var prev4="tileItem.mindur - 1;";var new_4="decreaseDur(tileItem, player.actions.gather );";var prev5="itemGet({";var new_5="decreaseDur(envItems[id], gatherEnvItems );itemGet({";var prev6="envItems[id].mindur - 1,";var new_6="envItems[id].mindur,";var prev7="item.mindur -= 1;";var new_7="decreaseDur(item, damageItem );";var prev8="item.mindur = tileItem.mindur - 1;";var new_8="decreaseDur(tileItem, actionsmenu.pickup-door );item.mindur = tileItem.mindur;";var prev9="envItems[envId].decay--;";var new_9="decreaseDecay(envItems[envId], environmentalDecay );";var prevA="envItems[envId].decay--;";var new_A="decreaseDecay(envItems[envId], environmentalDecay );";var prevB="decayContainer[containerItem].decay--;";var new_B="decreaseDecay(decayContainer[containerItem], decayItemsInContainer )";var prevC="player.invItems[invItem].decay--;";var new_C="decreaseDecay(player.invItems[invItem], passTurn-1 )";var prevD="tileItems[tileItemsKey[i2]].decay--;";var new_D="decreaseDecay(tileItems[tileItemsKey[i2]], passTurn-2 );";if(!chk_taintFree()){player.actions.attack=eval("("+player.actions.attack.toString().replace(prev1,new_1).replace(prev2,new_2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(prev3,new_3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(prev4,new_4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(prev5,new_5).replace(prev6,new_6)+")");damageItem=eval("("+damageItem.toString().replace(prev7,new_7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(prev8,new_8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(prevB,new_B)+")");passTurn=eval("("+passTurn.toString().replace(prevC,new_C).replace(prevD,new_D)+")");$("#mod_taintFree").css("background-color","orange");f_ret=true}else{player.actions.attack=eval("("+player.actions.attack.toString().replace(new_1,prev1).replace(new_2,prev2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(new_3,prev3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(new_4,prev4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(new_5,prev5).replace(new_6,prev6)+")");damageItem=eval("("+damageItem.toString().replace(new_7,prev7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(new_8,prev8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(new_B,prevB)+")");passTurn=eval("("+passTurn.toString().replace(new_C,prevC).replace(new_D,prevD)+")");sw("#mod_taintFree","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete prev6;delete new_6;delete prev7;delete new_7;delete prev8;delete new_8;delete prev9;delete new_9;delete prevA;delete new_A;delete prevB;delete new_B;delete prevC;delete new_C;delete prevD;delete new_D;delete pickupdoorfunc;return f_ret}$("#recover").append( button type="button" id="mod_taintFree" taintFree /button );if(player.actions.attack.toString().indexOf("ammo.mindur--")==-1){sw("#mod_taintFree","orange")}$("#recover").on("click","#mod_taintFree",function(a){appendfunc_taintFree()});function gatherEnvItemsEx(itemId){(eval("("+gatherEnvItems.toString().replace("passTurn(true)","passTurn(false)")+")"))(itemId)}function chk_autoCarve(){if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")==-1){return false}else{return true}}function appendfunc_autoCarve(){f_ret=false;prev1="return true;";new_1="gatherUnderPlayer();return true;";if(!chk_autoCarve()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1)+")");sw("#mod_autoCarve","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1)+")");sw("#mod_autoCarve","black");f_ret=false}delete prev1;delete new_1;return f_ret}function gatherUnderPlayer(){f_ret=false;if(tile[player.x][player.y].envItemList){for(itemLocation=tile[player.x][player.y].envItemList.length-1;itemLocation =0;itemLocation--){var b=false;var a=tile[player.x][player.y].envItemList[itemLocation];if(!game.isValidPickUp(a)){}else{if(environmentals[envItems[a].type].carve){if(environmentals[envItems[a].type].blood){createParticles(environmentals[envItems[a].type].blood[0],environmentals[envItems[a].type].blood[1],environmentals[envItems[a].type].blood[2])}else{createParticles(210,5,5);b=true}}if(b){placeEnvItem({type "blood",x envItems[a].x,y envItems[a].y,quality ""});ui.message("removeBlood","normal");gatherEnvItemsEx(tile[player.x][player.y].envItemList[tile[player.x][player.y].envItemList.length-1])}console.log(envItems[a].type);if(envItems[a].type.indexOf("_corpse")!=-1||envItems[a].type.indexOf("blood")!=-1){ui.message("carveCorpse","normal");if(envItems[a].type==="pirateghost_corpse"){addMilestone("reaperofsouls")}gatherEnvItemsEx(a)}}}}return}$("#recover").append( button type="button" id="mod_autoCarve" autoCarve /button );if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")!=-1){sw("#mod_autoCarve","orange")}$("#recover").on("click","#mod_autoCarve",function(a){appendfunc_autoCarve()});function chk_ugCulture(){if(environmentals.thistle.cavegrow==true){return true}else{return false}}function appendfunc_ugCulture(){f_ret=false;var a=false;var b=["grassseeds_ground","sapling_ground","yellowflowers","tallgrass","thistle","wildonion_ground","cotton_ground"];if(!chk_ugCulture()){a=true}for(var c in environmentals){if($.inArray(c,b) =0){environmentals[c].cavegrow=a;if(environmentals[c].cavegrow==false){delete environmentals[c].cavegrow}}}if(a){sw("#mod_ugCulture","orange")}else{sw("#mod_ugCulture","black")}f_ret=a;delete b;delete c;delete a;return f_ret}$("#recover").append( button type="button" id="mod_ugCulture" ugCulture /button );if(environmentals.thistle.cavegrow){sw("#mod_ugCulture","orange")}$("#recover").on("click","#mod_ugCulture",function(a){appendfunc_ugCulture()});function chk_rottenMeat(){if(items.rottenmeat.recipe){return true}else{return false}}function appendfunc_rottenMeat(){if(!chk_rottenMeat()){items.rottenmeat.recipe={requires [["meat",1,1]],level "expert",skill "cooking"};sw("#mod_rottenMeat","orange");craftTable();f_ret=true}else{for(var a=0;a player.crafted.length;a++){if(player.crafted[a]==="rottenmeat"){player.crafted.splice(a,1)}}delete items.rottenmeat.recipe;sw("#mod_rottenMeat","black");craftTable();f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_rottenMeat" RottenMeat /button );if(items.rottenmeat.recipe){sw("#mod_rottenMeat","orange")}$("#recover").on("click","#mod_rottenMeat",function(a){appendfunc_rottenMeat()});function getWeightStr(f,d){f_ret="";var c=0;var a=0;var b=0;if(d=="INV"){for(var e in player.invItems[f].container){if(player.invItems[f].container[e]===null){}else{c++;b+=items[player.invItems[f].container[e].type].weight}}a=items[player.invItems[f].type].maxWeight-b.toFixed(1)}else{for(var e in envItems[f].container){if(envItems[f].container[e]===null){}else{c++;b+=items[envItems[f].container[e].type].weight}}a=environmentals[envItems[f].type].maxWeight-b.toFixed(1)}a=a.toFixed(1);if(a 0){a="Maximum weight"}f_ret=" ("+c+" items, weight "+b.toFixed(1)+"["+a+" free])";delete c;delete a;delete b;return f_ret}function chk_calcWeight(){if(player.actions.openContainer.toString().indexOf("getWeightStr")==-1){return false}else{return true}}function appendfunc_calcWeight(){f_ret=false;var prev1="ui.message(\"youOpenThe\", normal , [containerName]);";var new_1="ui.message(\"youOpenThe\", normal , [containerName+getWeightStr(id,type)]);";if(!chk_calcWeight()){player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(prev1,new_1)+")");sw("#mod_calcWeight","orange");f_ret=true}else{player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(new_1,prev1)+")");sw("#mod_calcWeight","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="mod_calcWeight" calcWeight /button );if(player.actions.openContainer.toString().indexOf("getWeightStr")!=-1){sw("#mod_calcWeight","orange")}$("#recover").on("click","#mod_calcWeight",function(a){appendfunc_calcWeight()});function chk_waterClean(){if(items.purifiedfreshwaterwaterskin.recipe.requiredenv!=undefined){return false}else{return true}}function appendfunc_waterClean(){if(!chk_waterClean()){delete items.purifiedfreshwaterwaterskin.recipe.requiredenv;delete items.purifiedfreshwaterglassbottle.recipe.requiredenv;delete items.desalinatedwaterwaterskin.recipe.requiredenv;delete items.desalinatedwaterglassbottle.recipe.requiredenv;sw("#mod_waterClean","orange");f_ret=true}else{items.purifiedfreshwaterwaterskin.recipe.requiredenv="campfire_lit";items.purifiedfreshwaterglassbottle.recipe.requiredenv="campfire_lit";items.desalinatedwaterwaterskin.recipe.requiredenv="campfire_lit";items.desalinatedwaterglassbottle.recipe.requiredenv="campfire_lit";sw("#mod_waterClean","black");f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_waterClean" waterClean /button );if(items.purifiedfreshwaterwaterskin.recipe.requiredenv==undefined){sw("#mod_waterClean","orange")}$("#recover").on("click","#mod_waterClean",function(a){appendfunc_waterClean()});function chk_immotalFire(){if(environmentals.campfire_lit.decay==undefined){return true}else{return false}}function appendfunc_immotalFire(){f_ret=false;var a=false;var c=["campfire_lit","kiln_lit","forgeandanvil_lit","furnace_lit","torchstand_lit"];var b=[60,75,60,75];if(!chk_immotalFire()){a=true}for(var d in environmentals){if($.inArray(d,c) =0){if(a==false){environmentals[d].decay=b[$.inArray(d,c)]}else{delete environmentals[d].decay}}}f_ret=a;if(a==true){sw("#mod_immotalFire","orange")}else{sw("#mod_immotalFire","black")}delete c;delete b;delete a;return f_ret}$("#recover").append( button type="button" id="mod_immotalFire" immotalFire /button );if(environmentals.campfire_lit.decay==undefined){sw("#mod_immotalFire","orange")}$("#recover").on("click","#mod_immotalFire",function(a){appendfunc_immotalFire()});function chk_female(){if(player.characterSprite.src.indexOf("female")==-1){return false}else{return true}}function appendfunc_female(){f_ret=false;var a="http //www.unlok.ca/wayward/images/character.png";var b="http //www55.atwiki.jp/wayward_jp?cmd=upload act=open pageid=27 file=character_female.png";if(!chk_female()){player.characterSprite.src=b;sw("#mod_female","orange");f_ret=true}else{player.characterSprite.src=a;sw("#mod_female","black");f_ret=false}delete a;delete b;passTurn(false);return f_ret}$("#recover").append( button type="button" id="mod_female" female /button );if(player.characterSprite.src.indexOf("female")!=-1){sw("#mod_female","orange")}$("#recover").on("click","#mod_female",function(a){appendfunc_female()});function chk_offalNOTmeat(){if(items.offal.group==undefined){return true}else{return false}}function appendfunc_offalNOTmeat(){f_ret=false;if(!chk_offalNOTmeat()){delete items.offal.group;sw("#mod_offalNOTmeat","orange");f_ret=true}else{items.offal.group=["compost","meat"];sw("#mod_offalNOTmeat","black");f_ret=false}craftTable();return f_ret}$("#recover").append( button type="button" id="mod_offalNOTmeat" offalNOTmeat /button );if(chk_offalNOTmeat()){sw("#mod_offalNOTmeat","orange")}$("#recover").on("click","#mod_offalNOTmeat",function(a){appendfunc_offalNOTmeat()});function chk_DurMax(){if(craftItem.toString().indexOf("items[craftType].maxdur;")==-1){return false}else{return true}}function appendfunc_DurMax(){f_ret=false;var prev1="minDur = itemDurability.originalMinimum;";var new_1="minDur = itemDurability.originalMaximum ;";var prev2="maxDur = itemDurability.originalMaximum;";var new_2="madXur = items[craftType].maxdur;";if(!chk_DurMax()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_DurMax","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_DurMax","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type = "button" id="mod_DurMax" DurMax /button );if(chk_DurMax()){sw("#mod_DurMax","orange")}$("#recover").on("click","#mod_DurMax",function(a){appendfunc_DurMax()});function chk_Aberrant(){if(spawnMonster.toString().indexOf("forceAberrant=true;")==-1){return false}else{return true}}function appendfunc_Aberrant(){f_ret=false;prev1="var aberrantChance = 0;";new_1="forceAberrant=true;"+prev1;if(!chk_Aberrant()){spawnMonster=eval("("+spawnMonster.toString().replace(prev1,new_1)+")");sw("#mod_Aberrant","orange");f_ret=true}else{spawnMonster=eval("("+spawnMonster.toString().replace(new_1,prev1)+")");sw("#mod_Aberrant","black");f_ret=false}delete prev1;delete new_1;return f_ret}function appendfunc_searchDropItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start DropitemSearch==="]);for(var f=0;f =tileItems.length;f++){if(!tileItems[f]){}else{if(player.x =512){if(tileItems[f].x 512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(tileItems[f].x =512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_searchPlacedItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start PlaceditemSearch==="]);for(var f=0;f =envItems.length;f++){if(!envItems[f]){}else{if(envItems[f].type!="woodenchest_unlocked"){if(player.x =512){if(envItems[f].x 512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(envItems[f].x =512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_oreSonarInit(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var a="";var e=false;for(var c=0;c =1023;c++){for(var b=0;b =511;b++){if(tile[c][b].type=="coalrock"||tile[c][b].type=="ironrock"||tile[c][b].type=="limestonerock"||tile[c][b].type=="talcrock"||tile[c][b].type=="ironsandstone"||tile[c][b].type=="nitersandstone"||tile[c][b].type=="ash"||tile[c][b].type=="snow"){a="ore ";e=true}if(tile[c][b].type=="berryforest"||tile[c][b].type=="fungusforest"||tile[c][b].type=="vineforest"||tile[c][b].type=="swamp"||tile[c][b].type=="coconutspalm"){a="forest";e=true}if(e){oreSonar.push({group a,x c,y b,type tile[c][b].type,relX player.x-c,relY player.y-b,far Math.abs(player.x-c)+Math.abs(player.y-b),dirX (player.x-c =0?decodeURI("%E2%86%92") decodeURI("%E2%86%90")),dirY (player.y-b =0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"))});e=false}}}oreSonar.sort(d)}function appendfunc_oreSonarVerify(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var e=false;var b=1;var a=[0,0];for(var c=oreSonar.length;c =0;c--){if(!oreSonar[c]){}else{if(tile[oreSonar[c].x][oreSonar[c].y].type==oreSonar[c].type){oreSonar[c].relX=player.x-oreSonar[c].x;oreSonar[c].relY=player.y-oreSonar[c].y;oreSonar[c].far=Math.abs(oreSonar[c].relX)+Math.abs(oreSonar[c].relY);oreSonar[c].dirX=(oreSonar[c].relX 0?decodeURI("%E2%86%90") decodeURI("%E2%86%92"));oreSonar[c].dirY=(oreSonar[c].relY 0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"));if(oreSonar[c].x =511){a[0]++}else{a[1]++}}else{oreSonar.splice(c,1)}}}oreSonar.sort(d);ui.message("debug","bad",["===start oreSearch==="]);for(c=1;c =oreSonar.length;c++){if(player.x =511){if(oreSonar[c-1].x =511){e=true}}else{if(oreSonar[c-1].x =512){e=true}}if(e){ui.message("debug","",["#"+b+" - "+oreSonar[c-1].type+"("+oreSonar[c-1].dirX+Math.abs(oreSonar[c-1].relX)+","+oreSonar[c-1].dirY+Math.abs(oreSonar[c-1].relY)+")[far "+oreSonar[c-1].far+"]"]);b++;e=false;if(c==oreSonar.length||b mod_recover_saveData.findCount){break}}}if(b==1){ui.message("debug","",["No item found."])}else{if(player.x =511){ui.message("debug","",[a[0]+" items"])}else{ui.message("debug","",[a[1]+" items"])}}}$("#recover").append( button type="button" id="mod_Aberrant" popAberrant /button );if(chk_Aberrant()){sw("#mod_Aberrant","orange")}$("#recover").on("click","#mod_Aberrant",function(a){appendfunc_Aberrant()});function mod_recover_save(){mod_recover_saveData.left=$("#recover").parent().parent().parent().css("left");mod_recover_saveData.top=$("#recover").parent().parent().parent().css("top");mod_recover_saveData.width=$("#mod_recover_window").css("width");mod_recover_saveData.height=$("#mod_recover_window").css("height");mod_recover_saveData.recoverAuto=chk_recoverAuto();mod_recover_saveData.alwaysDaylight=chk_alwaysDaylight();mod_recover_saveData.ignoreWeight=chk_ignoreWeight();mod_recover_saveData.freshWater=chk_freshWater();mod_recover_saveData.skillGrow=chk_skillGrow();mod_recover_saveData.delaycut=chk_delaycut();mod_recover_saveData.speedCraft=chk_speedCraft();mod_recover_saveData.successDig=chk_successDig();mod_recover_saveData.infinityGun=chk_infinityGun();mod_recover_saveData.treasureMap=chk_treasureMap();mod_recover_saveData.holeySkin=chk_holeySkin();mod_recover_saveData.dropAllEx=chk_dropAllEx();mod_recover_saveData.pickupAll=chk_pickupAll();mod_recover_saveData.taintFree=chk_taintFree();mod_recover_saveData.autoCarve=chk_autoCarve();mod_recover_saveData.ugCulture=chk_ugCulture();mod_recover_saveData.rottenMeat=chk_rottenMeat();mod_recover_saveData.calcWeight=chk_calcWeight();mod_recover_saveData.waterClean=chk_waterClean();mod_recover_saveData.immotalFire=chk_immotalFire();mod_recover_saveData.multiCreate=chk_multiCreate();mod_recover_saveData.female=chk_female();mod_recover_saveData.offalNOTmeat=chk_offalNOTmeat();mod_recover_saveData.DurMax=chk_DurMax();mod_recover_saveData.Aberrant=chk_Aberrant();localStorage.setItem("mod_recover_saveData",JSON.stringify(mod_recover_saveData))}function mod_recover_load(){mod_recover_saveData=JSON.parse(localStorage.getItem("mod_recover_saveData"));for(prop in mod_recover_saveData){if(prop=="left"){$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}if(prop=="top"){$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top)}if(prop=="height"){$("#mod_recover_window").css("height",mod_recover_saveData.height)}if(prop=="width"){$("#mod_recover_window").css("height",mod_recover_saveData.width)}if(prop=="recoverAuto"){if(mod_recover_saveData[prop]!=chk_recoverAuto()){appendfunc_recoverAuto()}}if(prop=="alwaysDaylight"){if(mod_recover_saveData[prop]!=chk_alwaysDaylight()){appendfunc_alwaysDaylight()}}if(prop=="ignoreWeight"){if(mod_recover_saveData[prop]!=chk_ignoreWeight()){appendfunc_ignoreWeight()}}if(prop=="freshWater"){if(mod_recover_saveData[prop]!=chk_freshWater()){appendfunc_freshWater()}}if(prop=="skillGrow"){if(mod_recover_saveData[prop]!=chk_skillGrow()){appendfunc_skillGrow()}}if(prop=="delaycut"){if(mod_recover_saveData[prop]!=chk_delaycut()){appendfunc_delaycut()}}if(prop=="speedCraft"){if(mod_recover_saveData[prop]!=chk_speedCraft()){appendfunc_speedCraft()}}if(prop=="successDig"){if(mod_recover_saveData[prop]!=chk_successDig()){appendfunc_successDig()}}if(prop=="infinityGun"){if(mod_recover_saveData[prop]!=chk_infinityGun()){appendfunc_infinityGun()}}if(prop=="treasureMap"){if(mod_recover_saveData[prop]!=chk_treasureMap()){appendfunc_treasureMap()}}if(prop=="holeySkin"){if(mod_recover_saveData[prop]!=chk_holeySkin()){appendfunc_holeySkin()}}if(prop=="dropAllEx"){if(mod_recover_saveData[prop]!=chk_dropAllEx()){appendfunc_dropAllEx()}}if(prop=="pickupAll"){if(mod_recover_saveData[prop]!=chk_pickupAll()){appendfunc_pickupAll()}}if(prop=="taintFree"){if(mod_recover_saveData[prop]!=chk_taintFree()){appendfunc_taintFree()}}if(prop=="autoCarve"){if(mod_recover_saveData[prop]!=chk_autoCarve()){appendfunc_autoCarve()}}if(prop=="ugCulture"){if(mod_recover_saveData[prop]!=chk_ugCulture()){appendfunc_ugCulture()}}if(prop=="rottenMeat"){if(mod_recover_saveData[prop]!=chk_rottenMeat()){appendfunc_rottenMeat()}}if(prop=="calcWeight"){if(mod_recover_saveData[prop]!=chk_calcWeight()){appendfunc_calcWeight()}}if(prop=="waterClean"){if(mod_recover_saveData[prop]!=chk_waterClean()){appendfunc_waterClean()}}if(prop=="immotalFire"){if(mod_recover_saveData[prop]!=chk_immotalFire()){appendfunc_immotalFire()}}if(prop=="multiCreate"){if(mod_recover_saveData[prop]!=chk_multiCreate()){appendfunc_multiCreate()}}if(prop=="female"){if(mod_recover_saveData[prop]!=chk_female()){appendfunc_female()}}if(prop=="offalNOTmeat"){if(mod_recover_saveData[prop]!=chk_offalNOTmeat()){appendfunc_offalNOTmeat()}}if(prop=="DurMax"){if(mod_recover_saveData[prop]!=chk_DurMax()){appendfunc_DurMax()}}if(prop=="Aberrant"){if(mod_recover_saveData[prop]!=chk_Aberrant()){appendfunc_Aberrant()}}}}mod_recover_load();$("#actionsopen").parent().on("click","#mod_recover_visible",function(a){if($("#mod_recover_window").dialog("isOpen")){$("#mod_recover_window").dialog("close")}else{$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false});$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top);$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}})}else{var delTargetElement=document.getElementById("mod_recover_root");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_recover_visible");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_multiCreate_frame");delTargetElement.parentNode.removeChild(delTargetElement);$("#mod_multiCreate_frame").off("click","#mod_multiCreate");$("#mod_recover_window").dialog("destroy");$("#mod_recover_window").dialog("widget").remove();delete delTargetElement}; インベントリエディタ ver0.01c +... //試作品、オプションウィンドウの下に貼り付きます、再読み込みで消滅します //値を編集後、「update」ボタンを押すと適用されます //アイテムを落として拾い直したりすると内部ID(アイテム名の右側の数字)が変わるので、使用前に逐次「Refresh」ボタンを押してください //コンテナ・カバンの中身や地面に落ちているアイテム等、メインインベントリに入っていないアイテムは対象外です //PCのスペックにも依存しますが、IDが大きくなってくると処理が遅くなりますので、再起動の目安にもどうぞ //内部的なDecay(使用期限)無しは-1です、-1の値が入っている時は背景が灰色になります // 未実装・不具合等 //数値を入力すべきボックスに文字や全角数字を入力するとそのうちNaNエラーが出ると思います(未検証)、半角数字で入力してください //品質を変更しても枠線の色は変わりません、従来どおり捨てて拾い直す必要がありますが、その際はRefreshボタンも忘れずに //入力ボックスの背景が灰色の箇所は処理を飛ばしています、Decayなど、-1にしたものを再度5000などの有効な数値に変更することはできません //[修正済]フルキー1~9を押すとクイックスロットのアイテムを使用してしまうため、数字を入力する際は必ずテンキーを使用してください //ver0.01bでキーバインド割り込み処理を追加しました、テキストボックス入力にフルキーも使用できます(砂型を投げたりする事故が防げます) //但し、上に紹介のある「大きなミニマップ」等の、ui.$documentのkeydown処理を書き換えるmodを後から読み込むと割り込み処理が解除されます //キーバインドを書き換えるmodよりも後に読み込めば両方動きます //ver0.01c 耐久等の数値を書き換える際に文字列型になっていたバグを今更修正 // Messages.debug="_0_";var ignoreID=["itemCheat_curdurability","itemCheat_maxdurability","itemCheat_decayable","itemCheat_bonusValue"];var appendkeybind=$._data(ui.$document.get(0), "events")["keydown"][0].handler.toString();if(appendkeybind.indexOf(ignoreID[0])==-1){var basekeybindstr="ui.$code.is";var tmpkeybindstr= (" focus")){return true}else if($("#ignoreID[i]").is ;var keybindstr="";for(var i=0;i =ignoreID.length;i++){keybindstr=keybindstr+tmpkeybindstr.replace("ignoreID[i]",ignoreID[i])}appendkeybind=appendkeybind.replace(basekeybindstr,basekeybindstr+keybindstr);ui.$document.unbind("keydown").bind("keydown",eval("("+appendkeybind+")"));delete besekeybindstr;delete tmpkeybindstr;delete keybindstr;}if(document.getElementById("itemCheat") === null){$("#optionswindow").append( div id="itemCheat" / );$("#itemCheat").append(" hr p @@mod_invCheat@@ /p ");$("#itemCheat").append( select id="itemCheat_invList" size="8" / );$("#itemCheat_invList").css("float","left").css("margin","5px");for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}$("#itemCheat").append( button type="button" id="itemCheat_refresh" Refresh /button nbsp; button type="button" id="itemCheat_update" update /button /p );$("#itemCheat").append( CurDur input id="itemCheat_curdurability" size="5" / nbsp;MaxDur input id="itemCheat_maxdurability" size="5" / );$("#itemCheat").append( Decay nbsp; nbsp; input id="itemCheat_decayable" size="5" / br / );$("#itemCheat").append( div style = "float left" Quality select id="itemCheat_quality" size="4" / nbsp br / /div );$("#itemCheat").append( div style = "float left" Bonus nbsp; select id="itemCheat_bonusType" size="4" / nbsp; input id="itemCheat_bonusValue" size="3" / /div );for(var skillType in player.skills){ $("#itemCheat_bonusType").append( option value= +skillType+ +player.skillTypes[skillType].name+ /option )}$("#itemCheat_quality").append( option value="Normal" Normal /option option value="Remarkable" Remarkable /option option value="Exceptional" Exceptional /option option value="Legendary" Legendary /option );$("#itemCheat").append( div id="itemCheat_clearboth" style="clear both" / );$("#itemCheat").on("click","#itemCheat_refresh",function(e){$("#itemCheat_invList").children().remove();for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}});$("#itemCheat").on("click","#itemCheat_quality",function(e){if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}});$("#itemCheat").on("click","#itemCheat_invList",function(e){if(player.invItems[itemCheat_invList.value].decay==-1){$("#itemCheat_decayable").css("background-color","gray");}else{$("#itemCheat_decayable").css("background-color","black");}itemCheat_decayable.value=player.invItems[itemCheat_invList.value].decay;itemCheat_curdurability.value=player.invItems[itemCheat_invList.value].mindur;itemCheat_maxdurability.value=player.invItems[itemCheat_invList.value].maxdur;itemCheat_quality.value="Normal";if(player.invItems[itemCheat_invList.value].props!==null player.invItems[itemCheat_invList.value].props!==undefined){itemCheat_bonusType.value=player.invItems[itemCheat_invList.value].props[0];itemCheat_bonusValue.value=player.invItems[itemCheat_invList.value].props[1]}else{itemCheat_bonusType.selectedIndex=-1;itemCheat_bonusValue.value=0}if(player.invItems[itemCheat_invList.value].quality!=""){itemCheat_quality.value=player.invItems[itemCheat_invList.value].quality;if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}}else{itemCheat_bonusType.selectedIndex=-1;$("#itemCheat_bonusType").css("background-color","gray");itemCheat_bonusValue.value="0";$("#itemCheat_bonusValue").css("background-color","gray");}});$("#itemCheat").on("click","#itemCheat_update",function(e){if(itemCheat_invList.selectedIndex==-1){ui.message("debug","bad",["TargetItem not selected!"]);}else{if($("#itemCheat_decayable").css("background-color")=="rgb(0, 0, 0)"){player.invItems[itemCheat_invList.value].decay=itemCheat_decayable.value}player.invItems[itemCheat_invList.value].mindur=parseInt(itemCheat_curdurability.value);player.invItems[itemCheat_invList.value].maxdur=parseInt(itemCheat_maxdurability.value);if(itemCheat_quality.value=="Normal"){player.invItems[itemCheat_invList.value].quality=""}else{player.invItems[itemCheat_invList.value].quality=itemCheat_quality.value}if($("#itemCheat_bonusValue").css("background-color")!="rgb(128, 128, 128)"){player.invItems[itemCheat_invList.value].props=[itemCheat_bonusType.value,parseInt(itemCheat_bonusValue.value)]}ui.message("debug","",[itemCheat_invList.value+" "+items[player.invItems[itemCheat_invList.value].type].name+" edited."]);}});}else{var delTargetElement=document.getElementById("itemCheat");delTargetElement.parentNode.removeChild(delTargetElement);} 要望の検証について +... 「耐久値や使用期限が…減る/減らない」(食料だけ、武器・防具だけ、と種類別で指定できるのも良いかと) ◆状況 減る/減らないの処理は[taintFree]ボタンにて適用済、※アイテムの種類ごとの指定は手間がかかるので取下げ [アイテムの種類の判別方法(例)] 武器 if(items.[obj.type].damageType != undefined){ 武器用の処理 } 防具 if(items.[obj.type].equip != undefined items.[obj.type].equip != "held"){ 防具用の処理 } 食料 if(items.[obj.type].use != undefined){if(items.[obj.type].use[0] == "eat"){ 食料用の処理 } 「アイテムを入手した際における耐久値(m/n)は…ゲーム仕様に戻す/常にm=nの新品状態で入手」 ◆状況 未着手 itemGet()の先頭にitem.mindur=items[item].maxdur;を追加する、craftItemのランダム処理を潰す itemGet=eval("("+itemGet.toString().replace(";placeItem",";item.mindur=items[item.type].maxdur; placeItem")+")"); (未完成っぽい、上記だとCraft時に耐久減ったものができるので追加のコードが必要) 地面から拾った時に耐久が1減る(耐久の増減の④と⑤)処理については未調査 「自キャラ正面のパネルで燃えている火を…ゲーム仕様に戻す/何も燃やさず直ちに消す/そこに可燃物(地形、アイテム)がある場合は一瞬で燃やしつくして直ちに消火」 ◆状況 未着手 (スイッチで機能を選択して「消火」ボタンを押下、隣接するパネルへ延焼せずに消火) →何も燃やさず直ちに消すのは、player.actions.startFire()辺りにchangeTile(type "ash",以下未調査)を仕込めばできそう 可燃物の消滅は上記に加えてdropAllExcendと同じ処理をtileItemsに対して回せばできそう 「「ペミカン」を製作する素材として「内臓」を…使用する/使用しない」(「マジカルエッセンス」製作用に「内臓」をインベントリに残して置きたい場合) →これは、内臓のグループを解除すればいいのかな、多分肥料の材料にもしたくないと思うので ◆状況 [offalMeat]で実装予定 消す場合 delete items.offal.grouping; 戻す場合 items.offal.grouping=["compost","meat"]; 「徒歩による移動速度は地形の影響を…受ける/受けない」(進入不可なタイルは除く) →これはrender()の中身を把握した上で、移動ウェイトの直前に[player.x+player.direction.x][player.y+player.direction.y]の位置のタイルを判定してdelayを増減するものを差し込む形になるのかな、すぐには見当つかないです・・・ ◆状況 未着手、というか実装できる気がしないです 「プレイヤーの近くにいる鶏が各ターンに確率で卵を産む(鶏の数が多いと卵を産まなくなる)」 →次のコードを保存し、先頭の数値を書き換えてから読み込んでみてください //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var firechance = 40; //ファイアエレメントが炎を撒き散らす確率、低いほど確率が上がる、0を指定すると100%落ちる var swampchance = 40; //ボグリングが足元を沼にする確率、同上 var trapchance = 200; //ホブゴブリンがくくり罠を設置する確率、同上 var eggchance = 2000; //ニワトリがタマゴを落とす確率、同上 var featherchance = 400; //ハーピーが羽を落とす確率、同上 var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+firechance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+swampchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 200 + 1) === 1)","(Math.floor(Math.random() * "+trapchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 400 + 1) === 1)","(Math.floor(Math.random() * "+featherchance+" + 1)===1"+rangequalify+")")+")"); delete posRange;delete firechance; delete swampchance; delete trapchance;delete eggchance;delete featherchance;delete rangequalify; //=== ここまで === なお、上記ではposRangeで設定した距離以上離れている全てのモンスターのドロップ判定がキャンセルされますので、ニワトリのタマゴの確率だけを操作したいのであれば次のコードを //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var eggchance = 2000; ////ニワトリがタマゴを落とす確率、低いほど確率が上がる、0を指定すると100%落ちる var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance +" + 1)===1"+rangequalify+")")+")"); delete posRange;delete eggchance;delete rangequalify; //=== ここまで === 技術情報 +... ◇内部処理の書き換えについて ①元処理の取得方法 ●タイプA(普通の関数) var basefunc = passTurn.toString(); ●タイプB(イベントドリブン) var basefunc = $._data( $obj .get(0), "events")[ action ][0].handler.toString(); ②処理の書き換え basefunc.toString().replace("置換前","置換後"); ③処理の書き戻し ●タイプA passTurn = eval("("+basefunc+")"); ●タイプB $obj .unbind( action ).bind( action ,eval("("+basefunc+")"); a) 私が使用している「普通の関数」の書き換え方法は、上記①②③が全部セットになって1行で動作します 例) passTurn = eval("("+passTurn.toString().replace("置換前","置換後")+")"); b) タイプB「イベントドリブン」は、「マウスが押された時」「キーが押された時」「ページが更新された時」などの処理です 私がキーバインド割り込みと呼んでいるものはこちら側の処理です ui.$document.unbind("keyup").bind("keyup",eval("("+[元処理参照].replace("置換前","置換後")+")")と 記述すると、unbind完了後(元処理削除後)に元処理参照が行われて空の関数が返ってきてしまうので、変数を使います 良い例 先に変数basefuncに元処理を格納 ①と②var basefunc = $._data(ui.$document.get(0), "events")["keyup"][0].handler.toString().replace("置換前","置換後"); ③ui.$document.unbind("keyup").bind("keyup",eval("("+basefunc+")")); 悪い例 unbindの後に処理内容を参照している ui.$document.unbind("keyup").bind("keyup",eval("("+$._data(ui.$document.get(0), "events") ["keyup"][0].handler.toString().replace("置換前","置換後")+")"); この場合、$._data(以下略)["keyup"][0].handler.toString() はunbind()後なので空の関数が返ってきてしまいます ◇スイッチ化について(いろいろボタンの構成) basefunc.indexOf()を使用しています、basefuncの取り方は上に記載したとおりです if(basefunc.indexOf("識別文字")==-1){ 置換処理 } else { 戻す処理 } ①ボタンの追加処理 $( #obj ).append( button id = "ボタン名" 表示文字 /button ); ②既に書換が済んでしているかどうか判定(書き換えられているなら背景を指定した色に) if(basefunc.indexOf("識別文字")!=-1){ $("#ボタン名").css("background-color","色指定"); } ③ボタンの押下処理 $( #obj ).on("click","#ボタン名",function(e){ if(basefunc.indexOf("識別文字")==-1){ 置換処理; 色変更処理(ON); } else { 戻す処理; 色変更処理(OFF) } }); ←jQueryは関数の閉じカッコに気を付けましょう、functionの終わり"}"とonの終わり");" ◇複数箇所の置換と復帰について replace()関数は、最初に見つかったものだけを置き換えます "abcdabcd".replace("abcd","ABCD")の結果は "ABCDabcd"になります "ABCDABCD"に変換したい場合は "abcdabcd".replace("abcd","ABCD").replace("abcd","ABCD")とする必要があります これを利用して、識別文字を割り当てることができます 識別文字の作成方法 ①"console.log( この部分は置換済 );" 等の意味の無い処理をを後ろに付ける方法(値の書き換え等で使用、文字は適当) ②"if(0 === 0)", "if(0 === 1)" などで分岐を操作する方法 などがありますが、②について、"if(0 === 0)", "if(0===0)", "if(0=== 0)", "if(0 ===0)", "if(0 === 0)"のように 書換後の処理が同じでも半角スペースの場所を変えることによって置換したものを戻す場所を特定できます (可読性は犠牲になりますが) 補足情報(蛇足とも言う) ①var と delete var basefunc; → basefuncという変数を宣言します delete basefunc; → basefuncという変数を削除します 基本的に、いらない変数は処理の最後に削除してしまう方がよいのですが、ボタン化した場合などは特に、 むやみにdeleteするとエラーの原因になりますので気を付けましょう。ちなみにdeleteですが、値を削除しますので for(var itm in items){if(items[itm].decay){delete items[itm].decay}} このような使い方をすると、以降生成されるアイテムの使用期限(decay)が全てなくなったりします ②eval()について eval(str)は、strを関数として解釈するための命令ですが、前後にカッコを付ける必要があります 悪い例 eval("function(void){ a = 1; }"); 良い例 eval("(" + "function(void){ a = 1; }" + ")"); さいごに 名前付けの規則だったりスペースを入れる場所だったり、本職の方から見たら許せないような箇所も たくさん見受けられるかと思いますが、私はプログラマでもなんでもない独学でやっているだけの 素人ですので、ご容赦頂ければと思います。 日本語化(野良Mod) 有志による日本語化対応 ※最新版は MOD(日本語化) へ。 旧版は編集の邪魔になるので削除。 匿名Mod ミニModを不定期に追加していきます ※一部のコードはコメントアウトしてますが、これはModPackとしてまとめて使用しても癖の少ない変更点で抑えるために行っているためです。 有効にしたいときは、コメント文「//」を削除してください。 +... //-------------------------------------------------- //匿名ModPack ver0.03 //-------------------------------------------------- //匿名Mod 導入必須 ver0.03 //当MOD導入に必要(関数変更関数を関数インスタンスから実行できる関数を関数で登録する無名関数(MODのコメントにPatchFixのPFがあればこれが前提に必要となる) (function(){Function.prototype.funcreplace=function(){var s=this.toString().substring(this.toString().indexOf("{")+2,this.toString().lastIndexOf("}")-1);for(var i=0;i arguments.length-1;i+=2)s=s.replace(arguments[i],arguments[i+1]);return s;}})() //当MOD導入に必要(関数を1つ追加 MODのコメントにStyleSheetのSSがあればこれが前提に必要となる) styleSheet=function(){for(var i=0;i arguments.length;i++)document.styleSheets[0].insertRule(arguments[i], document.styleSheets[0].cssRules.length)}; //------------------------- //匿名Mod 修正版 ver0.03 //バッグを開いてる時にアイテムを右クリックするとバッグへ入るように修正する(PF 通常は地上に落とす) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( var fireDrop = false; , if(game.containerOpened.containerType===\ INV\ ){location=\ INV\ ;};var fireDrop = false; )); //箱とバッグからアイテムを取り出せなくなるバグを修正する(PF) moveToInventoryFromContainer=new Function( invId , moveAllItems ,moveToInventoryFromContainer.funcreplace( var cont = envItems[containerId].container; , var cont = null; , var item = cont[invId]; , if(cont==null)cont = envItems[containerId].container;var item = cont[invId]; )); // 連続してクラフトすると移動できなくなる時間ができるバグを修正する(PF) craftItem=new Function( craftType ,craftItem.funcreplace( game.delay += 10; , game.delay = 10; )); // 入れ物ウィンドウが開いてる場合で、箱の中身が入っていない時に箱を掘り出すと入れ物ウィンドウが閉じないバグを修正する(PF) game.isValidPickUp=new Function( envItemId ,game.isValidPickUp.funcreplace( return true; , if(game.containerOpened.containerType==="ENV" envItems[envItemId].container envItems[envItemId].container.length==0)closeContainer();return true; )); //「全て今開いている入れ物に入れる」にて道具が入りきれなくなったら処理を中断させるように修正(PF) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( finishItemDrop(playerItem, location, containerId); , if(!finishItemDrop(playerItem, location, containerId))break; )); //箱とバッグ内部に溜まる不要な情報を削除する(削除するのはnullだけなので恐らく安全 動作速度を若干向上しながらセーブデータ容量を少し減らす) closeContainer=new Function(closeContainer.funcreplace( game.containerOpened.containerType = ""; , if(game.containerOpened.id =0 game.containerOpened.containerType){var f=game.containerOpened.containerType==="ENV"?envItems[game.containerOpened.id] player.invItems[game.containerOpened.id];if(f f.container f.container.length 0){f=f.container;var r=f.length;for(var i=0;i r;i++){if(f[i]==null){f.splice(i--,1);r--;}}}};game.containerOpened.containerType = ""; )); // アイテムのコンディションが赤に表示している場合、修理すると元のコンディションに戻るように修正(PF 補強すると変化するでは効果はありません、そもそも対応させるのが面倒なので…) player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){if(containerId){ui.$container.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}else{ui.$inventoryEquip.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}}; )); //設置した箱のアイテムは一切腐らなくなる(PF 大量にアイテムを保管してるワールド(容量が数MB以上)で20歩毎に発生する負荷を軽減する) // environmentalDecay=new Function( envId ,environmentalDecay.funcreplace( decayItemsInContainer(envId, envItems[envId].container, \"ENV\"); , )); //地上に置いたバッグのアイテムは一切腐らなくなる(PF 地上にバッグを置く人向けに負荷を軽減する) // passTurn=new Function( move ,passTurn.funcreplace( decayItemsInContainer(tileItemsKey[i2], tileItems[tileItemsKey[i2]].container, \"TILE\"); , )); // スキル・実績のウィンドウが開いてる時に行動すると負荷が上がるのを抑える(PF HTML情報に変化がなければ更新しない、ブラウザによってはこの問題を解決してる事があるためその場合は効果がない) player.skillGain=new Function( skillType , mod , bypass ,player.skillGain.funcreplace( ui.$skills.html(skillOutput); , if(skillOutput!=ui.$skills[0].innerHTML)ui.$skills.html(skillOutput); )); addMilestone=new Function( milestone ,addMilestone.funcreplace( ui.$milestones.html(milestonesOutput); , if(milestonesOutput!=ui.$milestones[0].innerHTML)ui.$milestones.html(milestonesOutput); )); //ミニマップを無効にする(PF 移動時の負荷を軽減する) // $( #miniMapCanvas ).remove();updateMiniMap=false;statbar=[];passTurn=new Function( move ,passTurn.funcreplace( game.updateMiniMap = true; , )); //------------------------- //匿名Mod ゲームUI版 ver0.03 //ウィンドウの表示枠を大きくする(SS 表示の無駄をかなり減らす事ができる) // styleSheet(".ui-dialog .ui-dialog-content{width auto !important;padding 0px !important;}",".ui-dialog {height auto !important;}",".ui-dialog .ui-dialog-titlebar,.ui-dialog .ui-dialog-buttonpane,.ui-dialog-buttonset .ui-button,.ui-button .ui-button-text,.filter{padding 0px !important;margin 0px !important;}","#inventory li,#craft div,#equipment .equip, #container li{margin 0px !important;}",".fontstyle, .fontstyle button{line-height 12px !important;}"); //閉じるボタンを縮小する(SS 「ウィンドウの表示枠を大きくする」と組み合わせる事を推奨) // styleSheet(".ui-dialog .ui-dialog-titlebar-close{margin 0px !important;top auto !important;right 0px !important;padding 5px 8px !important;background none !important;width auto !important;height auto !important;}"); // ウィンドウの背景をより薄くする(SS アイテムも透明化になると不便なのでこちらは色を付ける) // styleSheet(".ui-dialog .ui-dialog-content{background none !important;}",".ui-dialog not([aria-describedby=equipmentwindow]) .ui-dialog-content, #inventory li, #container li, #craft div not(.crafted), .equip li, .equip empty{background-color rgba(4, 4, 4, 0.4) !important;}",".equip not( empty){background none !important;}","#craft div.crafted not( hover){border-color transparent !important;}"); //ステータスバーの色を薄く&透明度をつける(SS 個人的に色が濃すぎてちょっと目に優しくないな、と) // styleSheet("#health{background none repeat scroll 0% 0% rgba(100%, 0%, 10%, 0.6) !important;}","#stamina{background none repeat scroll 0% 0% rgba(0%, 90%, 10%, 0.6) !important;}","#hunger{background none repeat scroll 0% 0% rgba(90%, 0%, 100%, 0.6) !important;}","#thirst{background none repeat scroll 0% 0% rgba(0%, 50%, 100%, 0.6) !important;}"); //クラフトウィンドウの制作できないアイテムを目立たせる // styleSheet("#craft div.crafted{box-shadow 0px 0px 10px rgba(255, 0, 29, 0.6) inset;}"); //マップを拡大しないようにする(SS マップが大きすぎる、といった場合に有効) // styleSheet(".map, #miniMapCanvas{min-width 114px !important;width 114px !important;height 114px !important;}"); //メッセージボックスを非表示にする(SS 邪魔!と思った方にお勧めです) // styleSheet("#messageoverlay{display none !important;}"); //メッセージボックスを左から右に移動する(SS) // styleSheet("#messageoverlay{left auto !important;right 0px;}"); //メッセージウィンドウの背景を透明にする(SS メッセージクリアボタンも削除) // styleSheet("#messageswindow,[aria-describedby=messageswindow] .ui-dialog-titlebar,[aria-describedby=messageswindow] .ui-dialog-buttonpane{background none !important;}","[aria-describedby=messageswindow] .ui-dialog-buttonset{display none !important;}"); //-------------------------------------------------- アイテムの枠の色を適正化 補強と変化でアイテムの状態が変わったときに枠の色を適切にする。 ※匿名Mod(Pack ver0.03)の導入が必須です。匿名Modの更新次第でこのスクリプトは必要なくなるまたは使えなくなる可能性があります。 対応バージョン DL版 Beta 1.9.2(Windows) +... //匿名Modの「player.actions.repair=new Function~」の部分の次の行に挿入して使ってください。 //補強 player.actions.reinforce=new Function( invId , invClass , containerId , bypassId ,player.actions.reinforce.funcreplace( ui.message("reinforce", \ normal\ ); , if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );}ui.message("reinforce",\ normal\ ); )); //変化 player.actions.transmogrify=new Function( invId , invClass , containerId , bypassId ,player.actions.transmogrify.funcreplace( item.quality = "Legendary"; , var old_quality=item.quality;item.quality="Legendary";ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(old_quality.toLowerCase()).addClass(item.quality.toLowerCase()); , item.mindur = legendary.maxDur; , item.mindur=legendary.maxDur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); //ここからはDL版で匿名Modを導入しても修理で枠の色が戻らない場合 //「player.actions.repair=new Function~」の一行を下記のものと入れ替えてください。 //player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); Enjoy Life 独自のゲーム性を目指して途中まで制作していたModです このプログラムはコピー・改造して構いませんので、Mod制作にご活用ください 特徴:アイテム・モンスターの一部に独自の画像を使用、レシピを変更、固定のマップ、 モンスターの動きを変更、細かい時間管理、マイルストーン変更、雨が降るなど 操作:Actionsメニューから寝具なしで眠れます。Rキーで休憩できます ダウンロード 対応バージョン:Beta 1.9.2 β2.9.6-steam +とりあえず編集時判明部分のみ とりあえず編集時判明部分のみ ゲーム中にF10を押して最上部の[Console]を選択、最下部 のボックスに入力すると適用されます 体力・スタミナ・満腹度・喉の渇き 最大値まで回復します localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max; localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max; localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max; localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max; 最大スタミナ・満腹度・喉の渇き 最大値を指定した値に再設定します、体力は別管理のようです localPlayer.stat.stats.Stamina.max=32000; localPlayer.stat.stats.Hunger.max=500; localPlayer.stat.stats.Thirst.max=500; 善行ポイント・悪行ポイント倍率 行動による評判値の変動倍率を変更します、累積評判値が下がると強い敵が発生しやすくなります localPlayer.gameOptionsCached.reputation.malignityMultiplier=-1; localPlayer.gameOptionsCached.reputation.benignityMultiplier=10; 最大所持重量 重量制限を指定した値に再設定します、力が上がって再計算されると元に戻るのでその都度入力が必要です localPlayer.stat.stats.Weight.max=90000; 所持品の一括修理 所持品の耐久度をMAXまで回復します for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur} 所持品の重量ゼロ カバンの内容物や設置された収納箱の中身には影響しません、weightMultiplierの値をマイナスにすると更にたくさん持つこともできます、この変更値はセーブされません var weightMultiplier=0; for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){ localPlayer.inventory.containedItems[i].weight=weightMultiplier} 所持品の腐敗までの時間延長 カバンの内容物や設置された収納箱の中身には影響しません for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].decay)localPlayer.inventory.containedItems[i].decay=999999}} ※所持品以外には適用されませんが木の棒を装備して着火するとDecayの値が設定されます その状態でこのコマンドを実行して装備品の着火した木の棒を右クリックしてBuildを選び 地面に立てると半永久の火源になり常に調理ができます、セーブ&ロードしても保持されます また、このたいまつの斜めに金床を設置することで同じく常に利用できるようになります 上記修理・重量・腐敗時間統合 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur;if(localPlayer.inventory.containedItems[i].decay){localPlayer.inventory.containedItems[i].decay=999999}localPlayer.inventory.containedItems[i].weight=0} 宝の地図を自分の足元に設定する、使用済みの場合は未使用に戻す for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==121){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;if(typeof localPlayer.inventory.containedItems[i].used==="undefined"){}else{delete localPlayer.inventory.containedItems[i].used}}} 新しく生成されるアイテムの重量を0.1に固定する 地下の岩を掘ったら適用されていなかったり、詳細検証中 for(i=0;i =511;i++){itemManager.cachedWeights[i] ={static 0,max 0,min 0}} 所持している箱の容量拡張 インベントリ内にある収納アイテム8種に容量増加(+99999)を付与します、既に設置されている収納箱には影響しません カバン・リュック・矢筒の比較を=から==に修正 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224){localPlayer.inventory.containedItems[i].quality=4;localPlayer.inventory.containedItems[i].legendary = {type 3, value 99999}}} プレイヤーの位置 pos()で現在の位置を取得、tp(x,y,z)で指定座標へ移動、z=1で地上、z=0で地下、zは省略可能 mons()で敵の右隣に移動、左に移動すると先制攻撃、カッコ内に数値を入れると指定した数の敵をスキップ 拠点の近くにヤギなどを繋いで敵を倒していくとmons()を呼び出すと拠点に戻れるようになる、次の敵はmons(1)で探せる function pos(){if(localPlayer.z==1){console.log("地上 "+localPlayer.x+","+localPlayer.y+")")}else{console.log("地下 "+localPlayer.x+","+localPlayer.y+")")}};function tp(x,y,z=-1){localPlayer.x=x;localPlayer.y=y;if(z==0||z==1){localPlayer.z=z}}function mons(skip=0){for(i=0;i =island.creatures.length-1;i++){if(island.creatures[i]!==undefined){if(skip =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;console.log("ID="+i+" "+island.creatures[i].type);skip=-99;break}else{skip--}}}if(skip!=-99){console.log("全てのモンスターを撃破済です")}} +steam2.9.6用スイッチ steam2.9.6用スイッチ(仮) //本体部分(v0.1) typeof userDiv!="undefined" document.body.removeChild(userDiv);userDiv=document.createElement("mod_switch");userDiv.innerHTML=" div class= sw_move style= position absolute;padding 2px;font-size 10px;font-color white;border 1px solid;top 50px;left 100px;width 300px;background-color gray;z-index 999 id= txt steam2.9.6用スイッチ(仮) br / input type=button style= background-color red;color white;padding 1px id= btn1 value= HP onClick= sw.healHP() nbsp; input type=button style= background-color lime;color white;padding 1px id= btn2 value= ST onClick= sw.healST() nbsp; input type=button style= background-color purple;color white;padding 1px id= btn3 value= 空腹 onClick= sw.healHunger() nbsp; input type=button style= background-color cyan;color black;padding 1px id= btn4 value= 水分 onClick= sw.healThirst() nbsp; input type=button style= background-color yellow;color black;padding 1px id= btn5 value= BAD onClick= sw.healBAD() nbsp; input type=button style= background-color black;color white;padding 1px id= btn6 value= 全て onClick= sw.healALL() | input type=button style= background-color black;color white;padding 1px id= btn7 value= 自動回復(継続) onClick= sw.toggleHeal() br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 箱容量+ onClick= sw.box() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 所持重量0 onClick= sw.weight0() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn21 value= 重量0(継続) onClick= sw.toggleWeight0() nbsp; span id= span21 nbsp; nbsp; \/span hr / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn10 value= 次の設置物 onClick= sw.doods() nbsp; select id= selDoodQuality style= background-color black;color white onClick= sw.doodCount() option value=1 品質指定無 \/option option value=0 Normal \/option option value=2 Remarkable \/option option value=3 Exceptional \/option option value=4 Legendary \/option \/select nbsp;スキップ数 nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn11 value= - onClick= sw.doodminus() nbsp; span id= doodskip 0 \/span nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn12 value= + onClick= sw.doodplus() nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn13 value= 0 onClick= sw.doodreset() nbsp; span id= doodCount 計0個 \/span br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn30 value= NPCへ移動 onClick= sw.moveNPC() nbsp; select id= selNPC style= color white;background-color black \/select nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn31 value= 再取得 onClick= sw.getNPC() hr / span id= uLog \/span ";document.body.appendChild(userDiv);sw={};sw.log=function(n){$("#uLog").text(n)};sw.healHP=function(n=false){localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max;n==!1 sw.log("HPを回復しました")};sw.healST=function(n=false){localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max;n==!1 sw.log("スタミナを回復しました")};sw.healHunger=function(n=false){localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max;n==!1 sw.log("満腹になりました")};sw.healThirst=function(n=false){localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max;n==!1 sw.log("水分を補給しました")};sw.healBAD=function(n=false){localPlayer.status.Bleeding=!1;localPlayer.status.Poisoned=!1;localPlayer.status.Burned=!1;n==!1 sw.log("出血・毒・火傷を治療しました")};sw.healALL=function(n=false){sw.healHP(!0);sw.healST(!0);sw.healHunger(!0);sw.healThirst(!0);sw.healBAD(!0);n==!1 sw.log("完全回復しました")};sw.toggleHeal=function(){$("#btn7").css("color")!="rgb(255, 0, 0)"?($("#btn7").css("color","red"),clearInterval(sw.cure),sw.cure=setInterval(function(){sw.healALL(!0)},2e3),sw.log("自動回復(2秒毎)が有効になりました")) ($("#btn7").css("color","white"),clearInterval(sw.cure),sw.log("自動回復が無効になりました"))};sw.w0=0;sw.toggleWeight0=function(){$("#btn21").css("color")!="rgb(255, 0, 0)"?($("#btn21").css("color","red"),clearInterval(sw.w0),sw.w0=setInterval(function(){sw.weight0(!0)},2e3),sw.log("自動重量0/耐久回復が有効になりました")) ($("#btn21").css("color","white"),clearInterval(sw.w0),$("#span21").css("background-color","gray"),sw.log("自動重量0/耐久回復が無効になりました"))};sw.box=function(){for(cnt=0,i=0;i =localPlayer.inventory.containedItems.length-1;i++)(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224) (localPlayer.inventory.containedItems[i].quality=4,localPlayer.inventory.containedItems[i].legendary={type 3,value 99999},cnt++);cnt 0?sw.log("所持している収納アイテム"+cnt+"個に容量増加を付与しました") sw.log("収納アイテムを所持していません")};sw.map=function(n=false){if(n==!0)for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used!="undefined" delete localPlayer.inventory.containedItems[i].used;for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)if(localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used=="undefined"){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;localPlayer.inventory.containedItems[i].tatteredMap.z=localPlayer.z;console.log("Map "+i+" location="+localPlayer.inventory.containedItems[i].tatteredMap.x+","+localPlayer.inventory.containedItems[i].tatteredMap.y);break}sw.log("地図ID "+i+"を足元に設定しました")};sw.pos=function(){localPlayer.z==1?console.log("[1]地上 ("+localPlayer.x+","+localPlayer.y+")") console.log("[0]地下 ("+localPlayer.x+","+localPlayer.y+")")};sw.tp=function(n,t,i=-1,r=0){r!=0?(localPlayer.x+=n,localPlayer.y+=t) (localPlayer.x=n,localPlayer.y=t);(i==0||i==1) (localPlayer.z=i)};sw.defaultWeight=function(){for(i=0;i =511;i++)itemManager.cachedWeights[i]={static 0,max 0,min 0}};sw.defaultWeight();sw.mons=function(n=0){for(i=0;i =island.creatures.length-1;i++)if(island.creatures[i]!==undefined)if(n =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;sw.log("ID="+i+" "+island.creatures[i].type+"["+sw.monsStr(island.creatures[i].type)+"の右横へ移動しました]");n=-99;break}else n--;n!=-99 sw.log("全てのモンスターを撃破済です")};sw.monsStr=function(n){return sw.monsList[n]==undefined?"==unknown==" sw.monsList[n]};sw.tileev=function(n=0){for(tileev_found=!1,i=0;i =island.tileEvents.length-1;i++)if(typeof island.tileEvents[i]!="undefined")if(n =0){sw.tp(island.tileEvents[i].x+1,island.tileEvents[i].y,island.tileEvents[i].z);sw.log("ID="+i+" へジャンプしました");tileev_found=!0;break}else n--;tileev_found||sw.log("見つかりませんでした")};sw.weight0=function(n=false){for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].maxDur =999 (localPlayer.inventory.containedItems[i].maxDur=localPlayer.inventory.containedItems[i].type==15||localPlayer.inventory.containedItems[i].type==315||localPlayer.inventory.containedItems[i].type==490||localPlayer.inventory.containedItems[i].type==152||localPlayer.inventory.containedItems[i].type==446||localPlayer.inventory.containedItems[i].type==447?10 999),localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur,localPlayer.inventory.containedItems[i].decay (localPlayer.inventory.containedItems[i].decay=9999999),localPlayer.inventory.containedItems[i].weight=0;sw.blinkColor("span21");n==!1 sw.log("鞄外の所持品重量を0に設定し、耐久を全快しました")};sw.getNPC=function(){for($("#selNPC option").remove(),i=0;i =island.npcs.length-1;i++)typeof island.npcs[i]!==undefined $("#selNPC").append($(" option ").html(island.npcs[i].renamed).val(i))};sw.getNPC();sw.moveNPC=function(){sw.tp(island.npcs[$("#selNPC").val()].x+1,island.npcs[$("#selNPC").val()].y,island.npcs[$("#selNPC").val()].z);sw.log($("#selNPC option selected").html()+"の右横へ移動しました")};sw.doodplus=function(){$("#doodskip").text(parseInt($("#doodskip").text())+1)};sw.doodminus=function(){$("#doodskip").text() 0 $("#doodskip").text(parseInt($("#doodskip").text())-1)};sw.doodreset=function(){$("#doodskip").text("0")};sw.doodCount=function(n=1){for(cnt=0,n=$("#selDoodQuality").val(),i=0;i =island.doodads.length-1;i++)island.doodads[i]!==undefined (n!=1?island.doodads[i].quality==n cnt++ cnt++);$("#doodCount").text("計"+cnt+"個")};sw.doodCount();sw.doods=function(n=-1,t=0){for(n=$("#selDoodQuality").val(),t=parseInt($("#doodskip").text()),tiledood_found=!1,i=0;i =island.doodads.length-1;i++)if(typeof island.doodads[i]!="undefined" island.doodads[i].ownerIdentifier===undefined)if(n!=1){if(island.doodads[i].quality==n)if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--}else if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--;sw.doodCount();tiledood_found||sw.log("見つかりませんでした")};sw.doodStr=function(n){return sw.doodList[n]==undefined?"==unknown==" sw.doodList[n]};sw.doodList={0 "木の扉",1 "木の柵",2 "木の壁",3 "陶器の壁",4 "砂岩の壁",5 "石の壁",6 "爆発罠",7 "落とし罠",8 "くくり罠",9 "魔物のくくり罠",10 "太陽光蒸留器",11 "木の収納箱",12 "木の収納箱(施錠)",13 "魔物の像",14 "草",15 "クレマチス",16 "アザミ",17 "マッシュルーム",18 "ベニテングダケ",19 "スイッチグラス",20 "昆布",21 "ネギ",22 "パイナップル",23 "埋まった石",24 "木苺",25 "センダン草",26 "綿花",27 "ウチワサボテン",28 "タンブルウィード",29 "石の蒸留器",30 "石の蒸留器(着火)",31 "石の焚き火セット",32 "石の焚き火セット(着火)",33 "砂岩の窯",34 "砂岩の窯(着火)",35 "石の炉",36 "石の炉(着火)",37 "木の棒(設置)",38 "木の棒(設置・着火)",39 "石の鍛冶台",40 "洞窟の入口",41 "木の扉(開)",42 "木の門",43 "木の門(開)",44 "ツタウルシ",45 "錬鉄の収納箱",46 "鉄の収納箱",47 "豪華な木の収納箱",48 "スケルトン",49 "陶器の窯",50 "陶器の窯(着火)",51 "陶器の焚き火セット",52 "陶器の焚き火セット(着火)",53 "陶器の炉",54 "陶器の炉(着火)",55 "陶器の蒸留器",56 "陶器の蒸留器(着火)",57 "砂岩の焚き火セット",58 "砂岩の焚き火セット(着火)",59 "砂岩の炉",60 "砂岩の炉(着火)",61 "砂岩の蒸留器",62 "砂岩の蒸留器(着火)",63 "石の窯",64 "石の窯(着火)",65 "錬鉄の鍛冶台",66 "鉄の鍛冶台",67 "楓の木",68 "リンゴの木",69 "トウヒの木",70 "ヒノキの木",71 "ヤシの木",72 "レタス",73 "ジャガイモ",74 "ニンジン",75 "トウモロコシ",76 "キュウリ",77 "トマト",78 "カボチャ",79 "サトウキビ",80 "小麦",81 "銅の収納箱",82 "銅の鍛冶台",83 "樹皮の松明(設置)",84 "樹皮の松明(設置・着火)",85 "獣脂の松明(設置)",86 "獣脂の松明(設置・着火)",87 "ヨシュアの木",88 "弁慶サボテン",89 "アロエ",90 "獣脂のロウソク(設置)",91 "獣脂のロウソク(設置・着火)",92 "木綿の寝具(設置)",93 "羽毛の寝具(設置)",94 "ハンモック(設置)",95 "草の寝具(設置)",96 "つなぎ柱",97 "陶器の井戸",98 "砂岩の井戸",99 "石の井戸",100 "セメントの壁",101 "トウヒの木(雪)",102 "コケモモ",103 "ウメモドキ",104 "ヒナゲシ",105 "銅の収納箱(施錠)",106 "錬鉄の収納箱(施錠)",107 "鉄の収納箱(施錠)",108 "豪華な木の収納箱(施錠)"};sw.monsList={0 "スライム",1 "スライムキューブ",2 "巨大クモ",3 "熊",4 "ウサギ",5 "ヘビ",6 "巨大ネズミ",7 "ネズミ",8 "吸血コウモリ",9 "灰色オオカミ",10 "インプ",11 "ボグリング",12 "うごく岩",13 "サメ",14 "ゾンビ",15 "スケルトン",16 "幽霊海賊",17 "高速クモ",18 "ニワトリ",19 "転移クモ",20 "炎の精霊",21 "タラ",22 "ホブゴブリン",23 "うごくキノコ",24 "巨大イカ",25 "洞窟魚",26 "ハーピー",27 "デーモン",28 "骸骨魔導士",29 "クロウワーム",30 "火竜",31 "スナネコ",32 "溶岩虫",33 "ヤギ",34 "吸血ヒル",35 "トビハゼ",36 "サソリ",37 "ガラガラヘビ",38 "カモシカウサギ",39 "キセンフエダイ",40 "ウォールアイ",41 "ウィスプ",42 "北極オオカミ",43 "北極ウサギ",44 "白熊",45 "ペンギン",46 "氷の精霊",47 "氷の魔女"};sw.colorLime="rgb(0, 255, 0)";sw.colorCyan="rgb(0, 255, 255)";sw.colorRed="rgb(255, 0, 0)";sw.blinkColor=function(n){$("#"+n).css("background-color")==sw.colorLime?$("#"+n).css("background-color",sw.colorRed) $("#"+n).css("background-color",sw.colorLime)} //以下は上のものを読み込んだ後に追加で読み込んでください、作者の環境では一度に読み込むとエラーを吐き出します //ウィンドウをマウスで動かせるようにする (function(){var elements = document.getElementsByClassName("sw_move");var x,y;for(i=0;i elements.length;i++){elements[i].addEventListener("mousedown", mdown, false);elements[i].addEventListener("touchstart", mdown, false);}function mdown(e){this.classList.add("drag");if(e.type === "mousedown"){var event=e}else{var event = e.changedTouches[0]}x=event.pageX-this.offsetLeft;y=event.pageY-this.offsetTop;document.body.addEventListener("mousemove",mmove,false);document.body.addEventListener("touchmove",mmove,false)}function mmove(e){var drag=document.getElementsByClassName("drag")[0];if(e.type === "mousemove"){var event=e}else{var event=e.changedTouches[0]}e.preventDefault();drag.style.top=event.pageY-y+"px";drag.style.left=event.pageX-x+"px";drag.addEventListener("mouseup", mup, false);document.body.addEventListener("mouseleave", mup, false);drag.addEventListener("touchend", mup, false);document.body.addEventListener("touchleave", mup, false)}function mup(e){var drag = document.getElementsByClassName("drag")[0];document.body.removeEventListener("mousemove", mmove, false);drag.removeEventListener("mouseup", mup, false);document.body.removeEventListener("touchmove", mmove, false);drag.removeEventListener("touchend", mup, false);drag.classList.remove("drag")}})() 【動作確認/v0.11f】■[DurMax]:追伸/「骨の針」の素材となった「骨の棒」に現在耐久値が下がっていたアイテムが混入した可能性ですが、一連の動作確認においてインベントリのアイテムが山になったのを切っ掛けに、現在、在庫アイテムの一斉棚卸しの真っ最中でして、前々から溜め込んでいた様々なアイテムが入った宝箱を全部ひっくり返している状態です。当然、その中には現在耐久値が下がっているモノが含まれていて、それらが動作確認中に混入した事も考えられます。今後の動作確認においてはそういった古いアイテムが混ざらないよう注意します。 -- (名無しさん) 2015-05-19 17 52 59 【動作確認/v0.11f】■[popAberrant]:先の報告からこちら、新たに発生したと思われるモンスターで通常種は見かけません(多分)。 /■[DurMax]:[popAberrant]の動作確認がてら変異種から入手したアイテムを素材にアイテム製作を行い耐久値の状況をみておりますが、今の所は現在耐久値=最大耐久値で製作されています。 -- (名無しさん) 2015-05-20 01 37 12 【要望】■[MultiCreate]:[dropAllExtend]と同様に装備中のアイテムやQSのアイテムは[MultiCreate]による連続製作の対象から除外した方が良いと思いますが如何でしょう。武器や道具として使用中のアイテムが[MultiCreate]ボタンをクリックしたら待った無しの連続製作で素材として消費されてしまうと、いざ戦闘という時に素手になっている事に気付いたり、死骸からの剥ぎ取りに必要な「尖った物」が全て消費されて「切り出し」ができなかったりと(←まあ「掘る」でも良いのですが)、少々ですが不便な点も見受けられましたので。 -- (名無しさん) 2015-05-20 01 37 39 装備品・QS除外について、dropAllと製作時では処理の方法が違うので、装備・QSを除外できるか調べてみます というか軽く製作の処理を見てみた感じ鞄の中身をスキャンしてる様子がないんだけど見落としてるんだろうか・・・ -- (スイッチの人) 2015-05-20 11 49 21 手動で1つずつアイテム製作してみるとインベントリ→装備(E)→QSの順で素材となるアイテムを消費している様ですが…実装が難しそうなら仕様上の制限という事でもかまいません。 -- (名無しさん) 2015-05-20 12 50 58 v0.11gに更新しました multiCreateの対象から装備品・QS内のものを除外しました もともと鞄に入っているものは製作対象アイテムじゃなかったというオチね -- (スイッチの人) 2015-05-20 13 39 20 【動作確認/v0.11g】■[MultiCreate] 連続製作で装備アイテムとQSアイテムが素材として使用されない事を確認しました。早速の対応有り難うございます。 -- (名無しさん) 2015-05-20 14 13 37 今modを作ってますが、技術情報の内部処理の書き換えの所が参考になって助かってます。ありがとうございます! -- (はごろもフーズ) 2015-06-23 08 34 42 行き詰まってるコトや実装の仕方についてここで質問してくれれば分かる範囲ですがこっちでも調べてみますよ -- (スイッチの人) 2015-06-24 23 13 07 匿名Modの作者です。Wayward 2.0の一般公開を確認&一通りプレイ完了してからMODを再開発したいと考えています。MODは2.0用に作り直す予定で1.9.2との互換性は考慮しません。初めに日本語対応してから匿名Mod2.0の開発に取り組むと思います。 -- (匿名) 2015-07-25 05 24 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/fsjp/pages/17.html
MODとは MODとは「Modification」の略でユーザーによってゲームを改造・変更することです。 メーカーが供給することもありますが、こちらはDLC(Down load contents)と呼ばれています。 MODを使用するとゲームが不安定なったり、最悪の場合はクラッシュすることがあるので利用する際は注意書きをよく読んでインストールしましょう。 万一の場合を考えてファイルを上書きするようなMODでは、必ずファイルのバックアップを取っておきましょう。 PCの基本的な知識の無い方はMODの利用はお勧めしません。 ゲームが壊れても一切保障致しません。 MOD導入方法 2009 http //simulator.zoo.co.jp/fs2009/mod.php 2011 ダウンロードしたファイルの説明に従う 基本的に マイドキュメント\My Games\FarmingSimulator2011\mods のフォルダ中へダウンロードしたZIPファイルを入れる 海外MOD紹介サイト http //download-ls.de http //ls-planet.info http //www.fsmods.com http //gamesmods.net/ls-11/
https://w.atwiki.jp/gcserver/pages/24.html
前提MOD ※ 導入の前に必ずバックアップをしておいてください!! GC Serverでは多数のMODを導入しております。 「nihongoMOD」は特にありませんが、その他のMODは導入しないとサーバーに接続できませんので導入を必ずお願い致します。 なお、MOD適用の際にjar形式を開く作業がいりますので、以下のサイトで対応ソフトを導入してください。 「7-ZIP」 ダウンロード先: http //sevenzip.sourceforge.jp/ 当鯖の導入にあたり、Windows版MODパックを用意しました。 MAC,Linuxは申し訳ありませんが、各自用意お願い致します。 必要MOD: BuildCraft V2.2.12 http //adf.ly/4oNTL http //adf.ly/4oNTM http //adf.ly/4oNTO http //adf.ly/4oNTP http //adf.ly/4oNTQ IndustrialCraft² V1.71b r4 http //player.to/ic2/industrialcraft-2-client_1.71.jar RedPower 2.0p4d http //adf.ly/4ojHv http //adf.ly/4ojHz http //adf.ly/4ojI6 http //adf.ly/4ojHt http //adf.ly/4ojHx http //adf.ly/4ojIE http //adf.ly/4ojI1 ForestryForMinecraft V1.2.6.6 http //bit.ly/xiB8nS MineFactoryReloaded V1.4.1 https //github.com/downloads/balr0g/MineFactoryReloaded/MineFactoryReloaded_Client_1.4.1.zip littleMaidMob V0.2 (注:マルチ専用ですので、本家のMODではありません。) http //forum.minecraftuser.jp/download/file.php?id=6363 ModLoader/ModLoaderMP/MinecraftForge/AudioMODの導入が終わったら、作成されたmodsフォルダにこれを解凍して入れてください 「GcserverSetupPack」 ダウンロード先: http //www57.atwiki.jp/gcserver/pub/GcserverSetupPack.zip 必要MOD一覧 前提MODModLoader/ModLoaderMO/MinecraftForge/AudioMOD導入方法 nihongoMOD導入方法(nihongoMOD) 使用方法(nihongoMOD) その他のMOD導入方法(littlemaidmob) ModLoader/ModLoaderMO/MinecraftForge/AudioMOD ModLoader V1.1 http //dl.dropbox.com/u/20629262/Latest/ModLoader.zip ModLoaderMp V1.1 http //199.91.152.38/arwpra84mf1g/atepu4uj228qsnt/ModLoaderMp+1.1+v2.zip MinrcraftForge V1.3.3.12 http //goo.gl/C3kTH AudioMod V1.1 http //dl.dropbox.com/u/20629262/Latest/AudioMod.zip 以上4点をダウンロードしてください。 【ModLoader】 → 【ModLoaderMP】 → 【MinrcraftForge】 → 通常MOD 必ずこの順番に導入してください。 導入方法 ※隠しファイルを表示しないになっておりますと、マインクラフトフォルダが見えない状態になっておりますので、あらかじめ全て表示に変更してください。 ① (WindowsXP) ローカルディスク(Windows)/Documents and Settings/(ユーザー名)/%APPDATA%/.minecraft/bin/minecraft.jar を7zip等で開く。 (Windows7) ローカルディスク(Windows)ユーザー/(ユーザー名)/%APPDATA%/Roming/.minecraft/bin/minecraft.jar を7zip等で開く。 ②META-INF を削除します。(見つからなければ省略) ③ModLoaderのZIPファイルを解凍。中身全部を展開したminecraft.jarの中にドラッグ。書庫に入れていいか聞かれるのでOKを選択。 ④ModLoaderMpのZIPファイルも解凍。ModLoaderの時と同じ手順でドラッグ&ドロップ。 ⑤MinrcraftForgeのZIPファイルも解凍。ModLoaderの時と同じ手順でドラッグ&ドロップ。 ⑥AudioModのZIPファイルも解凍。ModLoaderの時と同じ手順でドラッグ&ドロップ。 ⑦展開していたminecraft.jarを閉じる。 ⑧一度マインクラフトを起動し、ログイン後タイトル画面まで進んだのを確認したら、ウィンドウを閉じて終了する。 nihongoMOD これは導入しなくても差し支えありませんが、参加メンバーは全て日本語で会話しておりますので、参加するにはなるべく導入をしてください。 ダウンロード先: http //forum.minecraftuser.jp/viewtopic.php?f=13 t=2157 導入方法(nihongoMOD) ※隠しファイルを表示しないになっておりますと、マインクラフトフォルダが見えない状態になっておりますので、あらかじめ全て表示に変更してください。 ① (WindowsXP) ローカルディスク(Windows)/Documents and Settings/(ユーザー名)/%APPDATA%/.minecraft/bin/minecraft.jar を7zip等で開く。 (Windows7) ローカルディスク(Windows)ユーザー/(ユーザー名)/%APPDATA%/.minecraft/bin/minecraft.jar を7zip等で開く。 ②META-INF を削除します。(見つからなければ省略) ③ダウンロードしたファイルを解凍しその中にあるbin/client フォルダ内のファイルを7zipで開いてあるものの中に全て上書きしてください。書庫に入れていいか聞かれるのでOKを選択。 ④ダウンロードしたファイルの中身のfont ディレクトリを (WindowsXP) ローカルディスク(Windows)/Documents and Settings/(ユーザー名)/%APPDATA%/.minecraft/resources (Windows7) ローカルディスク(Windows)ユーザー/(ユーザー名)/%APPDATA%/.minecraft/resources にコピーしてください。 使用方法(nihongoMOD) いつも通り入力してください。 日本語を含む、変換可能なチャットを入力することができます。 画面下部のテキストフィールドに入力することで反映されます。 その他のMOD 導入方法(littlemaidmob) ※隠しファイルを表示しないになっておりますと、マインクラフトフォルダが見えない状態になっておりますので、あらかじめ全て表示に変更してください。 ①DLした各種MODを.minecraftフォルダ内に生成されたmodsフォルダの中に、 解凍せず圧縮状態のまま コピー&ペーストで放り込む。 ②再度マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。
https://w.atwiki.jp/sims2/pages/4.html
MOD ゲームプレイを楽にしたりするMODを紹介。 Invisible Censor Blue - モザイク除去パッチ。基本(NL,OFBでも有効) Pay Bills At The Box - ポストから請求書を取り出して、そのまま支払いできるようにするパッチ。 Multi Painting - ゲーム内でスキルや欲求のパラメータを細かく調整できる、絵画の形をしたオブジェクト。 Swinger s Bed - 友好度とは無関係にベッドの中でハァハァできるようになる。 Swinger s HotTub - 上のMODのホットタブ版。友好度とは無関係に即ホットタブでハァハァできるようになる。 InTeenimater - 十代シムでもハァハァな行動ができるようになる。 InSIMenator - 様々なパラメータをゲーム中でいじれるオブジェクト。便利。 Hide all Maxis Clothing Hair - ディフォルトの服・髪型をカタログから消す。カスタムスキン入れまくりでもうディフォルトなんか使う気ねーよ、という人にお勧め。 HomeworkSometimesFasterFun - まじめなシムが宿題解くのが早くなったり、宿題が時々しか出なくなったりするMOD。 Find Own Place for Teens - 10代シムでも住む場所を探して家を出ることができるようになる。 Stop Skill Building and Go To Work/School v2 - スキル育成中に送迎車が来たら自動的に中断して学校or仕事に行ってくれる。
https://w.atwiki.jp/dwarffortress/pages/124.html
MODとは、ゲーム本体を「基礎」とするとMODは「応用」になります。 ゲームの機能性の拡張、独自のゲームシステムの追加、グラフィック改善などなど、 その拡張性は多岐に渡ります。 総合MOD Genesis MOD MASTERWORK DWARF FORTRESS グラフィカルMOD Mike Mayday's combined pack (DFG) Phoebus' Graphics Pack グラフィカルUtility Stonesense サウンドUtility SoundSense ゲームプレイUtility Dwarf Therapist Quickfort Runesmith ワールドマップUtility PerfectWorldDF 総合MOD DFのありとあらゆる要素を拡張したMODです。 Genesis MOD http //www.bay12forums.com/smf/index.php?topic=52988.0 9種類のドワーフ、15種類の種族、70以上の新ユニークモンスター、50以上の新アイテム 、154種の植物、76種の木材、新しい Workshops、新しい精錬システム、強力な弓など様々な要素が追加されます。 Genesis MOD は三種類存在します。 ASCIIMOD - 文字バージョンです IRONHAND - グラフィカルバージョンです PHOEBUS - グラフィカルバージョンです MASTERWORK DWARF FORTRESS http //www.bay12forums.com/smf/index.php?topic=98196.645 DL http //dffd.wimbli.com/file.php?id=5315 「プレイする度に違う遊びを、興奮を」を目的としたMOD。 本来はオリジナルDFのバランス調整とバグフィックスを目的としたMODだが、新規要素が追加され続け大型MODになった。 その名の通り、無数の建設施設と多数の職業、様々な困難と報酬が用意されている。 重要な要素として、「新規追加要素」や「バランス変更要素」などは、全てオプションとして変更可能な起動ランチャーがついている。 つまり、新規追加要素を一切排除したバランスMODとしても導入可能。 ゲームをより難しくしたり、簡単にするオプションを選択導入可能。 ゲームFPS低下防止の「死体無限増殖防止機能」などもある。 銃火器の追加、スキルトレーニング施設の追加 45種の魔法矢、宝石のさらなる有効活用(兵器利用可能)、60種の新規建物、850種の新規生物 1000種を超える新規植物及びアイテム、75種の新規武器防具、30種の新規文明、800種を超えるドワーフの新たなリアクション、100種を超える新たなアーティファクト 新たな報酬システム(プレイヤーは困難な事態に打ち勝つと強大な報酬を得ます! オリジナル Dwarf Fortress のバグフィックスとバランス調整(主にトラップの弱体化) MASTERWORK DWARF FORTRESSの日本語解説 グラフィカルMOD DFの画像機能を強化する物です。 Mike Mayday s combined pack (DFG) フルグラフィカル(全ての表示がグラフィカル表示になる)MODです。 こちらからダウンロード出来ます。 タイルサイズ:16x16 推奨解像度:1280 http //mayday.w.staszic.waw.pl/df.phpDFG13.png Phoebus Graphics Pack 同様のフルグラフィカルMOD。 鉱物資源が一目で判別できるようになっているのが魅力です。 タイルサイズ:16x16 推奨解像度:1280 こちらからダウンロード出来ます。 http //www.bay12forums.com/smf/index.php?topic=57557.0#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_dwarves.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_symbols.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_soils.png) グラフィカルUtility Dwarf Fortressのグラフィックを表示する外部アプリケーションです。 Stonesense クォータービューでDwarf Fortressを表示できるUtility。 クォータービュー表示されるため位置関係が掴みやすくなります。 また、箱庭的楽しみも更に増すかもしれません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=43260.0 サウンドUtility Dwarf Fortressに効果音等を追加する外部アプリケーションです。 SoundSense ゲーム中に効果音を追加するUtility。 プレイヤーとゲームログを表示するDOS窓の2窓構成。 何かが殴ったり殴られたりとか仕事ができない時とかに音が出るので便利。 そのぶん訓練中はがちゃがちゃうるさく感じるかもしれない。 他にも雨天やBGM等々いろいろ音が出る。 http //www.bay12forums.com/smf/index.php?topic=60287.0 ゲームプレイUtility Dwarf Fortressの操作を手助けしたり、パラメータを弄る外部アプリケーションです。 Dwarf Therapist Dwarf達のスキルを一目で判別・仕事の割り振りを一括管理できるUtility。 仕事の割り当てやnick nameをつける事等が、一括して簡単にできます。 Professionの名前を変えると同時に仕事の割り当てを一括で変える事等も可能。 また、移民順やprofession毎等、ソート機能も充実。 プレイが格段に快適になります。 チート要素はほぼありません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=66525 34.11の場合は以下のリンクからダウンロードできます https //code.google.com/r/splintermind-attributes/ 使用方法(掲示板からのコピー)まずDFモードで遊んでるときに、セラピストを起動する。そしたら自動でDFとリンクしてくれるので、住民リストが出てきてくれる。中心の表ではLaborに関する設定をクリックでon/offできる。ただしクリックしただけで即時変更されるわけではなく、変更した事柄は全て右側の「Commit Changes」ボタンを押して初めて反映される。右側下段のCustom Professionでは、自分の指定したLaborのセットが作成できる。任意のドワーフを一人選んで、作成したCustom Professionを指定するとLaborが一気に変更できる。雑多な連中を「Citizen」とかで一括で簡単な仕事設定すると便利だよ!全部右側のボタンを押さないと反映されない事に注意してね! 詳しい解説:MOD解説/Dwarf Therapist Quickfort 設計図を元に高速で掘削・建築・設置を行うUtility。 地下100階まで続く螺旋階段が3分でセットできます。 チート要素なし。 実行時の動画:http //www.youtube.com/watch?v=gjohyKpf2Dg ダウンロード元(v2.03) http //www.bay12forums.com/smf/index.php?PHPSESSID=95c041bdaa3a961d492c968443097e1c topic=35931.0 他にも複数の設計図がアップロードされています。 簡単な使い方:基本は設計図をロード→[d]で場所を指定→掘削開始--Quickfortの一時停止:Shift+Alt+Z--Quickfortの終了:Shift+Alt+X--設計図のロード:Alt+F:設計図のロード後に[d]で場所--を指定する。--リピートの設定:Alt+R:上下左右・階上・階下へのリピートが--可能。設定しなければ1回掘って停止。--掘削開始:Alt+D QuickFort2.02に対応した詳しい解説ページを作りました。 現在翻訳中ですがひと通りのことについては記述してあります。 MOD解説/QF202 Runesmith Dwarf達やCreature達のスキルや能力値等、様々なパラメータを操作するUtility。 スキルの調整や能力値の修正ができるようになります。 チート要素非常に大。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=59056.0 ワールドマップUtility DFのマップ、ワールドに関するMODです。 PerfectWorldDF DFのマップスクリプトの強化版です。 作者は Civilization4 のカスタムマップスクリプターとして有名な方です。 フォーラム http //www.bay12forums.com/smf/index.php?topic=57428.0 ダウンロード http //dffd.wimbli.com/file.php?id=2354
https://w.atwiki.jp/minecraft_kaisetsu/pages/10.html
Golden_apples_mod(金リンゴmod)解説